mysql获取当前系统日期和时间

mysql获取当前系统日期和时间,第1张

可以了解一下MySQL的时间戳(Timestamp)数据类型:

默认时间戳(Timestamp)类型的取值范围为'1970-01-01 00:00:01' UTC至'2038-01-19 03:14:07' UTC,数据精确到秒级别,该取值范围包含约22亿个数值,因此在MySQL内部使用4个字节INT类型来存放时间戳数据:

1、在存储时间戳数据时,先将本地时区时间转换为UTC时区时间,再将UTC时区时间转换为INT格式的毫秒值(使用UNIX_TIMESTAMP函数),然后存放到数据库中。

2、在读取时间戳数据时,先将INT格式的毫秒值转换为UTC时区时间(使用FROM_UNIXTIME函数),然后再转换为本地时区时间,最后返回给客户端。

(Timestamp)时间戳列可以有四张组合定义,其含义分别为:

1、当字段定义为timestamp,表示该字段在插入和更新时都不会自动设置为当前时间。

2、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP,表示该字段仅在插入且未指定值时被赋予当前时间,再更新时且未指定值时不做修改。

3、当字段定义为timestamp ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入且未指定值时被赋值为"0000-00-00 00:00:00",在更新且未指定值时更新为当前时间。

4、当字段定义为timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,表示该字段在插入或更新时未指定值,则被赋值为当前时间。

1、首先,我们打开软件,需要创建一个控制台应用程序,在Main方法中用来获取并输出系统当前的日期,输入:DateTime now = DateTime.Now。

2、在visual studio中按F5就可以调试模式运行程序,这个时候,就可以看到当前的日期加时间都输出来了。

3、获取到了今天的日期,这个时候就可以使用DayOfWeek属性了。输入DayOfWeek week = now.DayOfWeek。

4、重新调试运行,就可以看到当前系统日期,以及星期几都输出来了。只不过星期输出来的是英文。

5、接着,在Program类的同级,添加一个新的静态类和静态方法,此处使用静态,仅仅只是为了方便调用。在这个方法中,接收开始、结束日期,然后计算出两个日期之间的工作日天数

6、在Main方法中,直接通过静态类的静态方法调用,并将结果输出到控制台窗口。

7、重新调试模式运行,就可以看到指定传入的日期之间的工作日天数都计算出来了。

select curDate() #获取当前日期select curTime() #获取当前时间select now() #获取当前日期+时间

列举1个天数加减的例子,其他的看英文意思就可以理解了

select date_add(now(), interval 1 day) #当前日期天数+1

select date_add(now(), interval -1 day) #当前日期天数-1

select date_add(now(), interval 1 hour)

select date_add(now(), interval 1 minute)

select date_add(now(), interval 1 second)

select date_add(now(), interval 1 microsecond)

select date_add(now(), interval 1 week)

select date_add(now(), interval 1 month)

select date_add(now(), interval 1 quarter)

select date_add(now(), interval 1 year)

date_sub与date_add功能整合相反

select

date_sub(now(), interval 1 day) #当前日期天数-select date_sub(now(),

interval -1 day) #当前日期天数+select date_sub(now(), interval 1

hour)select date_sub(now(), interval 1 minute)select date_sub(now(),

interval 1 second)select date_sub(now(), interval 1 microsecond)select

date_sub(now(), interval 1 week)select date_sub(now(), interval 1

month)select date_sub(now(), interval 1 quarter)select date_sub(now(),

interval 1 year)

datediff函数计算两个日期间隔的天数

datediff(date1, date2) #date1 - date2

timediff函数计算两个时间间隔

timediff(time1, time2) #time1 - time2

time1和time2的格式必须要一样,返回时间差

str_to_date(str, format) 字符串转换为日期

select str_to_date('11/09/2014', '%m/%d/%Y')-- 2014-11-09


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

原文地址: http://outofmemory.cn/zaji/6142074.html

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

发表评论

登录后才能评论

评论列表(0条)

保存