javascript - 给定 ISO 8601 日期/时间,如何使用 JS date() 获取星期几 (0-6)?

标签 javascript jquery date datetime

给定一个日期时间字符串,如下所示:

mystring = '2012-10-23T02:40:59Z'

我需要能够从字符串中获取星期几 (0-6)。

我怎样才能将上面的内容传递给 JS,这样我就可以做这样的事情:

var d = new Date(mystring);
var n = d.getDay();
console.log(n)

其中 n 返回 0-6。

谢谢

最佳答案

虽然 Date 对象应该能够parse the ISO 8601 format in ECMA-262 ,它不能跨浏览器可靠地工作,因此您最好手动解析它们:

function isoStringToDate(s) {
  var b = s.split(/\D/);
  return new Date(Date.UTC(b[0], --b[1], b[2], b[3]||0, b[4]||0, b[5]||0, b[6]||0));
}

然后您可以使用getDay获取天数的方法(星期日 = 0,星期六 = 6):

isoStringToDate('2012-10-23T02:40:59Z').getDay(); // 2 for me

关于javascript - 给定 ISO 8601 日期/时间,如何使用 JS date() 获取星期几 (0-6)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13280724/

相关文章:

javascript - Google Calendar API 在尝试获取我的所有日​​历事件时返回 404

PHP在mysql插入之前转换日期格式

java - JAX-WS (JAXB) : How to marshall java. util.Date 到 xs :anyType as xs:date instead of xs:dateTime?

javascript - 在 Meteor JS 环境中运行 JavaScript 文件

javascript - 无法在js中声明top

jquery - 用户单击后更改 JQuery Raty ReadOnly 值

javascript - 用于过滤/显示两个单独类别类型的脚本

javascript - 使用 Javascript 或 jquery 的多语言页面

java - 在 Java 中将日期转换为 C# 刻度

javascript - 如何使用 Javascript 设置动画的持续时间?