时间
来源:互联网 发布:mac 安装ruby 编辑:程序博客网 时间:2024/06/02 15:45
时间戳(毫秒数)不分时区,即UTC时间所累积的毫秒数,UI必须获得时间戳或者UTC时间的字符串才能正确显示浏览器本地时间。
方案1、后台数据库存放本地时间,返回时间戳给UI。
后台数据库存放本地时间,类型为timestamp或datetime,数据中存放和显示都为本地时间。但它转为时间戳时,还是它对应的UTC时间(本地时间减去时区)所累积的毫秒数。即本地时间对应的时间戳与UTC时间对应的时间戳是相同的,因为时间戳不分时区,都是UTC时间所累积的毫秒数。UI用new Date(时间戳),生成一个时间对象,这个对象的输出都是浏览器本地时间(毫秒数转成UTC时间,再加上时区),此时用format()就可以输出浏览器的本地时间。
方案2、后台数据库存放本地时间,返回服务器本地时间的字符串给UI
方案错误。UI不知道服务器的时区,无法算出时间戳,UI只能显示服务器的本地时间了。当浏览器跟服务器在同一个时区,那么结果正确。
方案3、后台数据库存放UTC时间,返回时间戳给UI
方案错误。数据库中存放UTC时间,转成时间戳时会减去时区,因此返回给UI的是一个错误的时间戳(实际的UTC时间减去服务器时区,所累积的毫秒数)。UI不知道服务器的时区,因此无法计算时间戳。当浏览器跟服务器在同一个时区,那么,UI把后台返回的时间加上时区,能得到正确的时间。
方案4、后台数据库存放UTC时间,返回时间字符串给UI
UI将返回的时间加上时区,得到浏览器本地时间。
new Date("2013-02-08T01:30:26.000Z") ISO 8601 相当于
new Date("2013-02-08 09:30:26 GMT+00:00")
new Date("2013-02-08 09:30:26") 相当于 new Date("2013-02-08 09:30:26 GMT+08:00")
时间处理库:moment.js
- 【时间】
- 时间!!
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- 时间
- MySQL数据库索引的4大类型以及相关的索引创建
- 自定义视图——Day02_1
- Spline Power 场景插件
- 对内核函数IoCompleteRequest的分析
- 提升网站转化率的四步优化方案
- 时间
- 样本函数
- Mongo服务端 for window
- 衡水湖国际马拉松赛再获金牌赛事称号
- 移动平台动态读取外部文件全解析
- 辨别 “百度权重”作弊的手法
- 正则表达式
- 如何摧毁一个程序员的效率?
- 无法安装64(32)位版本的office,因为在您的pc找到了以下32(64)位程序。此问题的完全解决方案