请教一下 datetime 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
coolair

请教一下 datetime 的问题

  •  
  •   coolair Aug 23, 2018 1660 views
    This topic created in 2807 days ago, the information mentioned may be changed or developed.
    我的数据库中存的 datetime 是 utc 时间,字段类型是 datetime。
    现在的问题是:
    前端展示时间的时候,应该显示本地时间,所以就需要 utc 转成 local 时间。
    但是在表单提交的时候,表单中选中的时间是本地时间,提交前需要转成 utc 时间。
    是不是都是要这样转来转去?有更好的方法吗?
    13 replies    2018-08-23 15:35:44 +08:00
    Vhc001
        1
    Vhc001  
       Aug 23, 2018
    是不是都是要这样转来转去?是的
    有更好的方法吗?时间戳了解下
    aaronlam
        2
    aaronlam  
       Aug 23, 2018
    一般都存时间戳
    coolair
        3
    coolair  
    OP
       Aug 23, 2018
    @Vhc001 #1
    @aaronlam #2
    存时间戳的话,如果存的是 utc 时间的时间戳,那不是也要转吗?
    Vhc001
        4
    Vhc001  
       Aug 23, 2018
    @coolair #3 时间戳不存在时区的概念。
    kx5d62Jn1J9MjoXP
        5
    kx5d62Jn1J9MjoXP  
       Aug 23, 2018
    @coolair 时间戳是不管时区的, 时间戳+时区=>显示的日期和时间
    不过俺们公司都是存 datetime 的, 我想存 timestamp 还被强制改回来呢
    KeatingSmith
        6
    KeatingSmith  
       Aug 23, 2018
    可以使用 pytz 库,这是地址: http://pytz.sourceforge.net/
    leafiy
        7
    leafiy  
       Aug 23, 2018 via Android
    我司产品都是国际用户,时间时区确实研究了很久
    如果同时面对 2 个时区的用户,真没觉得时间戳能解决问题,最终还是采用了 utc 时间
    后来直接在数据库加一层,取数据时自动转成多个时区,前端想用哪个就用,不用转
    coolair
        8
    coolair  
    OP
       Aug 23, 2018
    @leafiy #7 你的意思是取数据时转成了多个时区的数据全部丢给前端?
    rrfeng
        9
    rrfeng  
       Aug 23, 2018
    @leafiy
    utc 时间 = 北京时间 = xxx 时间 = 时间戳
    只是显示的字符串不一样而已,凭什么 utc 能解决时间戳解决不了的问题?
    leafiy
        10
    leafiy  
       Aug 23, 2018 via Android
    @rrfeng 我没说清楚,我们最开始用的 utc,因为要在前端展示不同时区,每个用户用户也有自己的时区设置,转来转去很麻烦,后来改用了时间戳根据用户设置转,可还是需要转啊,再后来直接加了个中间层直接把所有需要的时间格式全部一起生成了,再也不用转时间了,存 utc 还是时间戳都不用再考虑了
    leafiy
        11
    leafiy  
       Aug 23, 2018 via Android
    @coolair yes,现在用的 mogoose 的 virtual 方法,直接吐出诸如 created:{us:xxx,zh_cn:xxx}
    aaronlam
        12
    aaronlam  
       Aug 23, 2018
    @coolair

    时间不区分时区的,虽然拿到时间戳也是要转,但是各地的时间戳都是一样的,所以处理起来也直观
    ![img]( https://www.linuxidc.com/upload/2016_01/160119095040111.jpg)
    aaronlam
        13
    aaronlam  
       Aug 23, 2018
    @aaronlam

    时间不区分时区的->时间戳不区分时区的
    About     Help     Advertise     Blog     API     FAQ     Solana     5414 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 58ms UTC 07:32 PVG 15:32 LAX 00:32 JFK 03:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86