数据库 存储时间

发布网友 发布时间:2022-04-21 07:36

我来回答

3个回答

懂视网 时间:2022-05-02 21:13

使用这种做法的唯一缺点是sqlite3没有internal的DATETIME类型,所以在ORM框架如sqlalchemy中,它会直接存字符串进去。(sqlite3的文档也说,你要么存成int要么real要么字符串)。尽管这可能带来一些不方便和性能的下降,但我认为还是符合“keep it simple and stupid”的原则。

至于用INT存时间,是另一种可行的方法,参见http://www.liaoxuefeng.com/article/0014132675721847f569c3514034f099477...
我个人不是很喜欢这么做,因为这样你必须把模型中表示时间的成员声明为int类型。这样是比较不符合逻辑的(那些Date呀Datetime之类的类就没有用了呀,最多就有个Dateutil就好了),而且会使得程序不易读(卧槽这个publishedDate为什么是int,它到底表示的是时间吗?)。总之见仁见智。

数据库存储时间的时区问题

标签:没有   util   unix   pre   好的   cti   而且   根据   表示   

热心网友 时间:2022-05-02 18:21

数据库中的字段可以设置为varchar 50 可以为空
你插入数据的时间只需要使用类型转换;
定义一个string 类型的 变量:str
(2010-6-6):str:=datetostr(datetimepicker1.date);
(2010-06-06):str:=FormatDateTime('yyyy-mm-dd detetimepicker1.date);
(2010-06-06 12.00:00):str:=FormatDateTime('yyyy-mm-dd hh:mm:ss detetimepicker1.date);

热心网友 时间:2022-05-02 19:39

数据库存储时间有两种方式:
1、 使用Timestamp,则会在数据库里存储:2013-07-16 07:20:01。
在不同时区,显示的都是2013-07-16 07:20:01,但其实他们并不是同一时间了。

2、存储事件发生的时间毫秒值,在不同时区解析出来的时间表示不一样,但表达都是同一时间,能解决时区问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com