python时间格式转换@TOC
python时间格式转换
最近写代码,与前端交互过程中,对于时间转换,记录一些小心得。
问题一
以往记录时间,都是后台生成的,写在相应的视图函数中,当触发函数时候,生成当前时间,并写进数据库。
now_time = datetime.datetime.now()
数据库中存的是timestamp类型
而现在,用户在前端操作后,把时间传给后台:
time1 = '2018-12-25T16:00:00.000Z'
是个标准时间的字符串
所以后台要将它转为datetime类型
time2 = datetime.datetime.strptime(time1,"%Y-%m-%dT%H:%M:%S.000Z")
转完后,用type查看是
接下来,存在数据中就可以。
问题二
现在,我要把存在数据里的timestamp类型,转成字符串,并传给前端。
time3.strftime('%Y-%m-%d %H:%M:%S')
吐槽:前端真坑啊,给我的标准时间,要的却是这样的格式。hh
问题3
当前端,给后台传时间的时候,传了个空,该怎么处理。
坑没结束:)
问题分析:
空也有两种情况,一种是null,另一种是空字符串。
如果是Null,数据库是可以存的,但是空字符串就不行了;
问题一中,我们将前端传的字符串转成了时间格式,现在如果用户传的null,就没有这个必要转了,而且转了也会报错。
接着上面的坑;
存到数据库中是null,查出来以后,如果再用问题二的方法转,也是一样会报错的。所以也没有这个必要转了,所以代码中加了好多空的判断。
总结:
我们开发是前后端分离,对于时间的处理,我们目前是这样处理的,但是总觉得很麻烦,如果大家都好的建议,希望一起分享。