作者taco2548 (T@cO)
看板Ajax
标题[问题] 请问new Date有办法指定时区吗?
时间Sun Dec 16 11:29:21 2018
小弟初新者
想请问new Date()的时候有办法同时指定时区吗?
因为我有一个必须确定是否为台湾时间星期日的timestamp
若是没有指定GMT+8,最後得到的结果可能会是星期六或星期一
在使用java时我可以直接
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
或
Calendar.getInstance(TimeZone.getTimeZone("GMT+8:00"));
但javascript似乎没有这类的方法??
请各位大大指教一下
或是有什麽其他替代方案也可推荐,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.75.145.159
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1544930965.A.5C6.html
1F:推 pkro12345: new Date(timestamp)就会回传一个当地时区GMT+0800了 12/16 12:04
2F:→ taco2548: 那如果不在GMT+8的时区怎麽办 12/16 12:13
3F:→ jherk: .setUTCHours() 12/16 12:22
4F:→ pkro12345: timestamp是世界标准时间 所以是唯一的 12/16 12:30
5F:→ pkro12345: 用new Data()本来就会回传当地时间(GMT+0800)了,不用 12/16 12:33
6F:→ pkro12345: 再设定GMT+0800 12/16 12:33
7F:→ taco2548: 假设我人在英国,回传的时间就变成GMT0了不是吗? 12/16 12:34
8F:→ taco2548: 可是我要的是GMT+8的时间 12/16 12:35
9F:→ taco2548: 如果我先将timestamp归到整点,GMT0的00:00:00 12/16 12:36
10F:→ taco2548: 再减去8小时的timestamp 12/16 12:38
11F:→ pkro12345: 你在英国使用new Date().getTime()会得到一个timestamp 12/16 12:39
12F:→ taco2548: 这样是不是就能保证为GMT+8的星期几了? 12/16 12:39
13F:→ pkro12345: 那个是GMT+0000,不管在哪使用都是回传GTM+0000的 12/16 12:41
14F:→ laechan: 先取得 timestamp 其它都好解决 12/16 16:19
15F:推 neigence: moment用习惯了 都不想用Date 03/05 22:22