mysql获取当前毫秒数、0点9点24点的毫秒数

mysql获取当前毫秒数、0点9点24点的毫秒数,第1张

select UNIX_TIMESTAMP()

select UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3)) 1000

select UNIX_TIMESTAMP(NOW(3)) 1000

3代表小数点后3位小数(也就到毫秒)

select unix_timestamp(CURDATE())1000

SELECT unix_timestamp(DATE_ADD(CURDATE(), INTERVAL 9 HOUR))1000

SELECT DATE_ADD(CURDATE(), INTERVAL 24 HOUR)

如果算毫秒数就unix_timestamp,再1000

SELECT DATE_SUB(CURDATE(),INTERVAL 1DAY)

如果算毫秒数就unix_timestamp,再1000

方案一:上电程序将RTC的时间保存下来,运行时再次获取RTC时间,减去上电时保存的时间(注意不是直接0进制算术,时间包括日期、时间、亚秒寄存器)。

方案二、使用一个定时器毫秒中断一次,给一个变量累加,这个变量就是上电以毫秒数。(精度较低)

方案三、使用RTC产生一个毫秒中断,给一个变量累加,原理同“二”。

推荐方案一,精度高,且不浪费资源,到程序稍复杂

1、直接利用Pentium CPU内部时间戳进行计时的高精度计时手段。

2、在 Intel Pentium以上级别的CPU中,有一个称为“时间戳(Time Stamp)”的部件,它以64位无符号整型数的格式,记录了自CPU上电以来所经过的时钟周期数。由于目前的CPU主频都非常高,因此这个部件可以达到纳秒级的计时精度。

3、因为RDTSC不被C++的内嵌汇编器直接支持,所以要用_emit伪指令直接嵌入该指令的机器码形式0X0F、0X31,如下:

inline unsigned __int64 GetCycleCount()

{

__asm _emit 0x0F

__asm _emit 0x31

}

4、在需要计数器的场合,可以像使用普通的Win32 API一样,调用两次GetCycleCount函数,比较两个返回值的差,像这样:

unsigned long t;

t = (unsigned long)GetCycleCount();

//Do Something time-intensive

t -= (unsigned long)GetCycleCount();

以上就是关于mysql获取当前毫秒数、0点/9点/24点的毫秒数全部的内容,包括:mysql获取当前毫秒数、0点/9点/24点的毫秒数、STM32F103如何获取设备从上电到当前时刻所经过的毫秒数、VC++编程中 如何获取当前时间(精确到毫秒)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9268423.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存