php 指定日期 数据库,PHP(二)时间日期及数据库

本篇记录PHP使用过程中用过的时间日期处理和数据库相关代码。

PHP的数据库操作参考手册点这里。

PHP的时间日期操作参考手册点这里。

时间戳是一个时区无关的量。

地球上分为24个时区,每个时区都有各自的时间,但同一时刻所有时区距离某一标准时间的差值是一致的,这个标准差值就是时间戳。

标准时间一般认为是格林威治时间1970年01月01日00时00分00秒,即0区时间1970-01-01 00:00:00,对应到北京时间是+8区时间1970-01-01 08:00:00。

PHP和MySQL中的时间戳都是10位,以秒为单位,在部分其他系统中,时间戳是13位,以毫秒为单位。

时间戳最远表示的时间是2038年,十位时间戳2147483647表示格林威治时间2038-01-19 11:14:07。

默认时区区别

PHP的时区默认是0区格林威治标准时区。

MySQL的时区默认是系统设置时区。

PHP获取当前时间戳

PHP使用time()方法获取当前时间戳,适用于PHP 4+。

PHP获取当前日期时间

获取当前时间

使用date('Y-m-d H:m:s')方法。这个方法拿到的永远是0时区的时间。

获取当前时区的时间先设置date环境变量,参考 date_default_timezone_set() 。

设置东八区使用:date_default_timezone_set("PRC");

其中PRC是中华人民共和国(The People’s Republic of China)的简称。

再使用date方法获取当前时间:date('Y-m-d H:i:s')

显示格式为2019-09-15 17:45:27

MySQL写入时间戳

MySQL在建表时把字段类型设置成timestamp,默认值设为CURRENT_TIMESTAMP即可保存时间戳。

勾选根据当前时间戳更新,则每次更新记录时都会更新时间戳,不勾选,则记录创建时的时间戳。两种情况下建表SQL语句示例如下:CREATE TABLE `t_auth_v0` (

`F_MACADDRESS` varchar(12) NOT NULL,

`F_INIT_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

`F_TIMES` int(4) NOT NULL,

PRIMARY KEY (`F_MACADDRESS`)

)

CREATE TABLE `t_auth_v0` (

`F_MACADDRESS` varchar(12) NOT NULL,

`F_INIT_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`F_TIMES` int(4) NOT NULL,

PRIMARY KEY (`F_MACADDRESS`)

)

MySQL读取时间戳

MySQL中直接查询timestamp字段时,如果不设置查询Unix时间戳,会按照系统当前时区把存储的timestamp类型转换成可读的时间。时间格式示例: 2019-09-11 12:22:23

示例查询语句:SELECT F_MACADDRESS, F_INIT_TIME, F_TIMES FROM t_auth_v0 WHERE F_MACADDRESS='000000000000'

SELECT F_MACADDRESS, UNIX_TIMESTAMP(F_INIT_TIME), F_TIMES FROM t_auth_v0 WHERE F_MACADDRESS='000000000000'

MySQL在时间戳字段上有UNIX_TIMESTAMP方法和FROM_UNIXTIME方法。由于我们时间戳均为自动生成,此处不再赘述。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值