[問題] 請問new Date有辦法指定時區嗎?

看板Ajax作者 (T@cO)時間6年前 (2018/12/16 11:29), 編輯推噓2(2013)
留言15則, 5人參與, 6年前最新討論串1/2 (看更多)
小弟初新者 想請問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://www.ptt.cc/bbs/Ajax/M.1544930965.A.5C6.html

12/16 12:04, 6年前 , 1F
new Date(timestamp)就會回傳一個當地時區GMT+0800了
12/16 12:04, 1F

12/16 12:13, 6年前 , 2F
那如果不在GMT+8的時區怎麼辦
12/16 12:13, 2F

12/16 12:22, 6年前 , 3F
.setUTCHours()
12/16 12:22, 3F

12/16 12:30, 6年前 , 4F
timestamp是世界標準時間 所以是唯一的
12/16 12:30, 4F

12/16 12:33, 6年前 , 5F
用new Data()本來就會回傳當地時間(GMT+0800)了,不用
12/16 12:33, 5F

12/16 12:33, 6年前 , 6F
再設定GMT+0800
12/16 12:33, 6F

12/16 12:34, 6年前 , 7F
假設我人在英國,回傳的時間就變成GMT0了不是嗎?
12/16 12:34, 7F

12/16 12:35, 6年前 , 8F
可是我要的是GMT+8的時間
12/16 12:35, 8F

12/16 12:36, 6年前 , 9F
如果我先將timestamp歸到整點,GMT0的00:00:00
12/16 12:36, 9F

12/16 12:38, 6年前 , 10F
再減去8小時的timestamp
12/16 12:38, 10F

12/16 12:39, 6年前 , 11F
你在英國使用new Date().getTime()會得到一個timestamp
12/16 12:39, 11F

12/16 12:39, 6年前 , 12F
這樣是不是就能保證為GMT+8的星期幾了?
12/16 12:39, 12F

12/16 12:41, 6年前 , 13F
那個是GMT+0000,不管在哪使用都是回傳GTM+0000的
12/16 12:41, 13F

12/16 16:19, 6年前 , 14F
先取得 timestamp 其它都好解決
12/16 16:19, 14F

03/05 22:22, 6年前 , 15F
moment用習慣了 都不想用Date
03/05 22:22, 15F
文章代碼(AID): #1S5SQLN6 (Ajax)
文章代碼(AID): #1S5SQLN6 (Ajax)