Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用javascript解析ISO 8601基本日期时间格式_Javascript_Iso8601_Gnome Shell Extensions - Fatal编程技术网

用javascript解析ISO 8601基本日期时间格式

用javascript解析ISO 8601基本日期时间格式,javascript,iso8601,gnome-shell-extensions,Javascript,Iso8601,Gnome Shell Extensions,我有一个JSON返回的日期,格式如下: YYYYMMDDThhmmssZ 我想用Javascript解析它。我发现一些资源将此格式编目为ISO-8601基本格式,这与扩展格式略有不同,后者如下所示: YYYY-MM-DDThh:mm:ssZ 我已经找到了一些关于如何解析扩展格式的资源,但是到目前为止我还没有找到任何关于解析基本格式的资源。Javascript的日期模块中是否存在此类功能,或者我必须使用其他模块(例如,矩)?我这样问是因为这对我来说不是一个真正的选项,因为我正在开发的应用程序是

我有一个JSON返回的日期,格式如下:

YYYYMMDDThhmmssZ
我想用Javascript解析它。我发现一些资源将此格式编目为ISO-8601基本格式,这与扩展格式略有不同,后者如下所示:

YYYY-MM-DDThh:mm:ssZ
我已经找到了一些关于如何解析扩展格式的资源,但是到目前为止我还没有找到任何关于解析基本格式的资源。Javascript的日期模块中是否存在此类功能,或者我必须使用其他模块(例如,矩)?我这样问是因为这对我来说不是一个真正的选项,因为我正在开发的应用程序是一个gnome外壳扩展,我不想有任何额外的依赖项。

Update

如果你不能使用Simult.js,你可以依赖你输入的格式,如你所描述的,然后考虑用这样的方式解析自己:

YYYY-MM-DDThh:mm:ssZ
函数解析日期(输入){
返回新日期(Date.UTC)(
parseInt(input.slice(0,4,10)),
parseInt(input.slice(4,6),10)-1,
parseInt(input.slice(6,8,10)),
parseInt(input.slice(9,11,10)),
parseInt(input.slice(11,13,10)),
parseInt(input.slice(13,15),10)
));
}

日志(parseDate('20130208T080910Z')将其解析为字符串是一个选项吗?这与“gnome外壳扩展”有什么关系@凯尔,不,把它解析成字符串很容易。我希望它是一种日期格式,这样我就可以相应地操作它(即从中减去其他日期)。@mike mccaughan,我需要它作为gnome外壳扩展(正如问题中提到的)。我认为这是一个重要的信息,因为它强调了我不想使用任何额外的JavaScript模块(如Time.js),你应该考虑在标题和/或在问题的顶部提到。标题本身就相当通用(并且是重复的)。这将在momentjs的最新版本中显示一条警告,因为您没有传递格式。谢谢tavnab,但正如我在问题中所述,我试图避免使用MomentThreak@Mikemcaughan等模块,我已经更新了我的答案。所以,我想解析字符串是唯一的方法?现在可以了,谢谢你的帮助@tavnab@Nakano很乐意帮忙!还有其他方法,但解析是唯一不涉及外部模块的方法。