栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

IE11中的ToLocaleDateString()更改

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IE11中的ToLocaleDateString()更改

问题是,如果您尝试以编程方式使用该值来创建日期,则该日期无效。

我是在做错什么,还是应该以其他方式与javascript日期进行交互?

是的,您做错了。您不应该使用旨在格式化某些内容以实现特定于区域设置的人类显示的功能,并且不要期望输出是机器可解析的。任何的输出的

toLocaleString
toLocaleDateString
toLocaleTimeString
仅仅是用来人类可读显示。(正如Bergi在评论中澄清的,
toString
它也用于人类展示,但是ECMA§15.9.4.2表示应该往返)

您可能会获得LTR标记,因为您的显示语言环境是RTL。除此之外,请考虑语言环境将始终影响输出。也许您的语言环境使用dd / mm / yyyy格式而不是mm
/ dd / yyyy格式。或者您的语言环境要求使用亚洲或阿拉伯字符。在确定显示格式时,所有这些都是考虑因素,但从不适合机器解析。

还应考虑ECMAscript规范没有为这些方法的输出定义任何特定的格式规则,并且不同的浏览器将产生不同的结果。

如果意图不是要显示给用户,则应改用以下功能之一:

  • toISOString
    将为您提供ISO8601 / RFC3339格式的时间戳
  • toGMTString
    toUTCString
    将为您提供RFC822 / RFC1123格式的时间戳
  • getTime
    将为您提供整数毫秒级的Unix时间戳

以上所有都将返回基于UTC的值。如果你想在本地时间,你可以建立自己的字符串与各种存取功能(

getFullYear
getMonth
,等…),或者你可以使用库如moment.js:

这使用moment.js返回ISO8601格式的本地时间+与日期的偏移量:

moment(theDate).format()   // ex:  "2014-08-14T13:32:21-07:00"


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411320.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号