Kri*_*iev 5 mysql timezone datetime
我将API作为字符串以这种格式提取日期: yyyy-MM-dd'T'HH:mm:ss'Z'
问题是当我尝试保存它时,让我们今天说2015-01-23T13:42:00Z标志Z并T没有显示在MySQL数据库中(日期保存如下2015-01-23 13:42:00).
我想保留字段日期类型,即我不想将日期保存到varchar字段中.
我不熟悉日期时区格式,欢迎任何建议.
Mat*_*int 10
首先,阅读mysql文档中的DATETIME和,以及TIMESTAMP类型.
然后,决定使用哪种字段类型:
如果要在不进行MySQL执行时区转换的情况下提交,存储和检索相同的值,请使用DATETIME字段.
如果要使用特定时区向/从字段提交和检索值,但实际存储UTC时间,请使用TIMESTAMP.
TIMESTAMP基于UTC的值的类型,但只需将会话时区显式设置为UTC.永远不要在日期中存储日期/时间值VARCHAR.
最后,要意识到实际存储在数据库中的内容与您在检查数据时看到的内容之间存在巨大差异.数据库以非可见的二进制表示形式有效地存储事物.您只需观察在显示期间投射到特定格式的值.提交数据时使用的格式有助于制作二进制值,但随后会丢弃这些字符串.稍后当您查看该字段时,如果您将它们打印到屏幕上,那么它会转换回字符串,以便它可以显示该值.
没有什么不同,如果你发送一个整数为"1,234" - 它实际上并不存储该字符串,它存储0x04D2(或0000 0100 1101 0010二进制).您可以将其读作"1234"或"1,234" ,将逗号放在正确位置的格式与存储值的方式无关.它只与显示值的工具如何呈现输出有关.您的日期格式设置方案也是如此.
| 归档时间: |
|
| 查看次数: |
6803 次 |
| 最近记录: |