使用javascript应用用户的时区差异
Using javascript to apply the users timezone diff?
我想过让我的用户在我的应用程序中选择他们自己的时区,但是用一些javascript来使它自动呢?
一些psuedocode:
日期在服务器端打印为<p class="utcDate">2011-09-28 11:00 UTC</p>
。当用户加载页面时,jquery遍历所有具有utcDate
类的元素,并将UTC日期/时间替换为UTC &
这样做时我应该注意什么?这有什么明显的缺点吗?
谢谢
如果您这样做(这没有错),请注意,如果涉及到很多元素,它可能会影响感知的页面加载时间。
请确保在dom就绪的事件处理程序中进行替换,而不是在页面加载时进行替换,因为这对用户来说是非常明显的。
与其输出UTC日期然后更改它,为什么不直接输出一个js。将通过document.write内联写入正确日期的代码片段?-这将更快的页面加载。
如果你在一个页面上使用它的所有地方都是相同的日期/时间,你可以通过js生成它一次,然后简单地输出存储在变量中的值
我建议输出Unix时间戳。js Date对象没有直接使用UTC字符串的能力(你必须解析出每个组件),但它可以使用setTime函数使用时间戳。
Date对象自动本地化到用户的设置,可以直接转换为字符串(尽管这可能比你想要的更冗长:"Wed Sep 28 2011 07:03:26 GMT-0400(东部夏令时)"),所以你可能想要自己格式化字符串:
$('p.utcDate').each(function () {
var time = new Date();
time.setTime(this.innerHTML);
this.innerHTML = time.toDateString();
});
作为一个额外的好处,toDateString将处理关于m-d-y和d-m-y等的本地约定。
相关文章:
- 获取用户选择的不带时区的日期
- Rails:如何获取当前用户'使用Heroku时的时区
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- 使用JS检查用户是否在EST时区和设置的EST时间范围内
- 更改跨度内的日期以匹配用户的时区
- PHP 中的用户时区问题修复
- 根据时区重定向用户
- 在 JavaScript 的 Date 构造函数中查找和使用用户的时区
- Google Apps脚本格式使用用户的日期's时区而不是GMT
- 在最终用户中操作's时区与momentjs
- 检测用户时区并在倒计时Javascript中更改它
- 当javascript中的系统首选项和用户首选项不同时,会出现时区转换问题
- Javascript:如何基于设备获取用户的时区
- JavaScript如何确定用户的时区?
- 如何检测用户的时区
- Jquery Datepicker -根据保存在数据库中的用户自定义时区显示日期
- 将用户提交的日期/时间/时区转换为与时区无关的UTC
- 我们可以根据GMT得到用户的时区吗?
- 使用javascript应用用户的时区差异
- 时区:用户首选项与客户端 Javascript