为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript如何在使用时区时通过getDay验证日期

Javascript如何在使用时区时通过getDay验证日期

POPMUISE 2021-08-20 17:46:30
我试图验证一周中的某一天是否等于星期三 (3),如果我按以下方式操作,这很有效。var today = new Date();if (today.getDay() == 3) {  alert('Today is Wednesday');} else {    alert('Today is not Wednesday');}但我无法对时区做同样的事情。var todayNY = new Date().toLocaleString("en-US", {timeZone: "America/New_York"});if (todayNY.getDay() == 3) {  alert('Today is Wednesday in New York');} else {    alert('Today is not Wednesday in New York');}
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

new Date().toLocaleString()根据特定于语言的约定返回表示给定日期的字符串。所以可以这样做


var todayNY = new Date();


var dayName = todayNY.toLocaleString("en-US", {

    timeZone: "America/New_York",

    weekday: 'long'

})


if (dayName == 'Wednesday') { // or some other day

    alert('Today is Wednesday in New York');

} else {

    alert('Today is not Wednesday in New York');

}


查看完整回答
反对 回复 2021-08-20
?
PIPIONE

TA贡献1829条经验 获得超9个赞

正如函数“toLocaleString”所暗示的那样,它返回一个字符串。'getDay' 存在于 Date 类型。


因此,要使用“getDay”,您需要将字符串转换回日期。


尝试:


var todayNY = new Date().toLocaleString("en-US", {

  timeZone: "America/New_York"

});

todayNY = new Date(todayNY);

if (todayNY.getDay() == 3) {

  alert('Today is Wednesday in New York');

} else {

  alert('Today is not Wednesday in New York');

}


查看完整回答
反对 回复 2021-08-20
  • 2 回答
  • 0 关注
  • 196 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信