JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

JavaScript 解析 Django/Python 生成的 datetime 数据

当Web后台使用Django时,后台生成的时间数据类型就是Python类型的。
项目需要将几个时间存储到数据库中是很常见的情况。那么当需要网页显示这个时间的时候,可能会出现问题。

例如,后台获取当前时间 datetime.now([tz]) 带有时区的,存入数据库内。存进去的数据是这样的 1999-12-30 16:00:00
当业务需要时,再次从数据库中获取到这个数据,并显示在前台。

我遇到的情况是,如果直接用HTML渲染这个时间的数据,那么显示是没有问题的,网页可以将带时区的时间解析出来,并正确显示。但是如果将数据传递给JS,JS来动态地更新网页的内容,那么很有可能就无法正常显示,有可能会显示成这样: 1999-12-31 T00:00:00Z 显然这不是我们想要的样子。这个时候在JS中这个时间数据的类型是string 没法用JS的date对象的方法进行操作。

解决方法:
创建JS的date对象,并将这串字符作为参数,可以获得一个JS 的date实例,再变为字符串输出即可。
code:

//task['fields']['start_time'] is like "1999-12-31 T00:00:00Z"
var start_time = new Date(task['fields']['start_time']);
var stop_time = new Date(task['fields']['stop_time']);

var start_time_str = start_time.toLocaleString();

转载于:https://www.cnblogs.com/psklf/p/5546097.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值