我正在开发一个涉及Javascript的个人项目,作为该项目的一部分,我想获取当前日期(包括时间)并相应地显示它。没什么大不了的?那么,交易是我想要返回的时间& Eastern Daylight TIme 中的日期,无论IP在哪个世界。
如果无法做到这一点,您建议采用哪种替代方法? php有这个功能吗?我可以写一个简单的PHP脚本,它需要一个日期并转换它,但我想尽可能保留在JS中。
我正在尝试通过最好的方式来做到这一点,但我很感激您提供的任何帮助。
谢谢!
答案 0 :(得分:5)
我发现了这个on the internet,并且还有更多这些脚本:
function calcTime(offset) {
// create Date object for current location
d = new Date();
// convert to msec
// add local time zone offset
// get UTC time in msec
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
return new Date(utc + (3600000*offset));
}
因此,您获取当前时间,添加当前位置的偏移量以获得UTC时间,然后返回新日期,再次添加某个时区的偏移量。
答案 1 :(得分:1)
JavaScript本地Date
对象只知道两个时区,UTC和用户的区域设置时区(即使这样,您可以提取的有关区域设置时区的信息量也是有限的)。你可以在UTC工作并减去4小时来获得EDT,但你真的总是想要EDT而不是EST吗?
如果您想在PHP中的任意区域之间进行时区转换,则需要使用自己的时区信息拖动大型库,例如TimezoneJS。
最好将所有JavaScript内容保存在UTC中,并让PHP方担心使用例如Date/Time中的时区内容来格式化特定区域设置/时区。