php gmtime存mysql_Django 使用 MySQL 存储时间中遇到的问题(在数据库中记录插入时间、更新时间、删除时间)...

首先,把 MySQL 的时间类型做一下解释。在 mysql 中,表示时间值的DATE和时间类型为 DATETIME、DATE、TIMESTAMP、TIME和YEAR。每个时间类型有一个有效值范围和一个“零”值,当指定不合法的 MySQL 不能表示的值时使用“零”值。TIMESTAMP 类型有专有的自动更新特性。

1. DATE,日期。支持的范围为'1000-01-01'到'9999-12-31'。MySQL 以'YYYY-MM-DD'格式显示 DATE 值,但允许使用字符串或数字为 DATE 列分配值。

2. DATETIME,日期和时间的组合。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL 以'YYYY-MM-DD HH:MM:SS'格式显示 DATETIME 值,但允许使用字符串或数字为 DATETIME 列分配值。

3. TIMESTAMP[(M)],时间戳。范围是'1970-01-01 00:00:00'到2037年。TIMESTAMP 列用于 INSERT 或 UPDATE 操作时记录日期和时间。如果你不分配一个值,表中的第一个 TIMESTAMP 列自动设置为最近操作的日期和时间。也可以通过分配一个 NULL 值,将 TIMESTAMP 列设置为当前的日期和时间。TIMESTAMP 值返回后显示为'YYYY-MM-DD HH:MM:SS'格式的字符串,显示宽度固定为19个字符。如果想要获得数字值,应在

TIMESTAMP 列添加+0。

注释:MySQL 4.1以前使用的TIMESTAMP 格式在 MySQL 5.1中不支持;关于旧格式的信息参见 MySQL 4.1 参考手册。

4. TIME,时间。范围是'-838:59:59'到'838:59:59'。MySQL以'HH:MM:SS'格式显示 TIME 值,但允许使用字符串或数字为 TIME 列分配值。

5. YEAR[(2|4)],两位或四位格式的年。默认是四位格式。在四位格式中,允许的值是1901到2155和0000。在两位格式中,允许的值是70到69,表示从1970年到2069年。MySQL 以 YYYY 格式显示 YEAR 值,但允许使用字符串或数字为 YEAR 列分配值。

当 MySQL 遇到一个日期或时间类型的超出范围或对于该类型不合法的值时,它将该值转换为该类的“零”值。一个例外是超出范围的 TIME 值被裁剪到 TIME 范围的相应端点。

下面的表显示了各类“零”值的格式(请注意如果启用 NO_ZERO_DATE SQL 模式,使用这些值会产生警告)。

列类型

“零”值格式

DATETIME

'0000-00-00 00:00:00'

DATE

'0000-00-00'

TIMESTAME(M)

0000000000000000

TIME

'00:00:00'

YEAR

0000

可以使用任何常见格式指定 DATETIME、DATE 和 TIMESTAMP 值:

1.'YYYY-MM-DD HH:MM:SS'或'YY-MM-DD HH:MM:SS'格式的字符串。允许“不严格”语法:任何标点符都可以用做日期部分或时间部分之间的间割符。例如,'98-12-31 11:30:45'、'98.12.31 11+30+45'、'98/12/31 11*30*45'和'98@12@31 11^30^45'是等价的。

2.'YYYY-MM-DD'或'YY-MM-DD'格式的字符串。这里也允许使用“不严格的”语法。例如,'98-12-31'、'98.12.31'、'98/12/31'和'98@12@31'是等价的。

3.'YYYYMMDDHHMMSS'或'YYMMDDHHMMSS'格式的没有间割符的字符串,假定字符串对于日期类型是有意义的。例如,'19970523091528'和'970523091528'被解释为'1997-05-23 09:15:28',但'971122129015'是不合法的(它有一个没有意义的分钟部分),将变为'0000-00-00 00:00:00'。

4.数字值应为6、8、12或者14位长。如果一个数值是8或14位长,则假定为YYYYMMDD或YYYYMMDDHHMMSS格式,前4位数表示年。如果数字 是6或12位长,则假定为YYMMDD或YYMMDDHHMMSS格式,前2位数表示年。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值