Javascript - 检索操作系统日期格式
Posted
技术标签:
【中文标题】Javascript - 检索操作系统日期格式【英文标题】:Javascript - Retrieve OS Date formatting 【发布时间】:2013-03-27 22:09:28 【问题描述】:嗯...好吧,我已经在网上搜索了 2 天,但没有任何运气。我已经看到很多关于如何格式化 javascript 日期的答案,例如 new Date().toString("yyyy-MM-dd")... 这将返回类似 2013-04-05 的内容。
这绝对不是问题。
我想要的是设置我的操作系统显示日期的格式,然后检索该特定格式并将其显示在浏览器中的可能性。
例如,假设我将操作系统中的日期格式更改为 MM-yyyy/dd(这是为了争论,是否可行无关紧要)。那么我希望在我的操作系统中看到 04-2013/05,对吧?接下来,我想通过 Javascript 在我的浏览器中检索这种特定格式,以便我可以使用它来格式化整个网页中的日期。
如果这是疯了,无法做到,请告诉我,因为我在搜索中头疼。 另外,如果您说使用 someDateObject.toLocaleDateString() 而没有确切解释为什么 .toLocaleDateString 会起作用,我会忽略它,因为我已经尝试将我的操作系统中的日期格式设置为多个格式,每次我使用 .toLocaleDateString() 时,我都会收到相同的格式:dd/MM/yyyy
【问题讨论】:
请检查.toLocaleString
方法。你看过这里***.com/questions/85116/…或这里***.com/questions/2388115/…
看过它们...你测试过它们吗,我知道***.com/questions/2388115/…页面上“mwrf”的答案,这似乎是最完整的并没有解决我的问题问题...谢谢你尝试
【参考方案1】:
使用的 .toLocaleDateString 方法语言环境的第一个属性。
您可以通过 navigator.language(在 firefox 或 chrome 中)参数获取当前语言环境。 在 IE 中可以获取 navigator.browserLanguage 或 navigator.systemLanguage
在IE以外的浏览器中无法通过这种方式获取系统语言
之后你可以调用 new Date.toLocaleString(navigator.language||navigator.browserLanguage) 它将根据浏览器语言正确格式化
【讨论】:
我明白你在说什么,这是有道理的,这样你就可以强制一个地方,例如:“de-DE”......但这不是我想要的为了。我使用 MM-yyyy/dd 的激进示例来证明我不一定想要一个已知的位置。我需要的是用户在他/她的操作系统中指定的日期格式。不过,我真的很感谢您的帮助。 如果用户使用IE,可能通过navigator.systemLanguage变量,其他情况你仍然可以猜测,使用的语言与他的浏览器的语言相同,甚至问他并保存这个属性进入cookie 嗯...我刚刚尝试了 navigator.systemLanguage,虽然很简洁,但它仍然不是我要找的技巧。看,我知道如何获取/设置语言环境,但我想要做的是获取/设置用户在他们的机器中设置的个性化日期格式。我想这样做而不让他们在我的网络应用程序中再次设置它。我想要的是让网络应用程序获取日期格式,例如MM-yyyy/dd 并使用它在应用程序的其余部分显示日期。 @Deceased 虽然这很有意义,但似乎仍然没有办法做到这一点。 Anatharon 的答案是你能得到的最好的答案,也是 Edge 现在的做法。大多数其他浏览器(Google Chrome、Firefox 等)采用浏览器语言,但原则保持不变。以上是关于Javascript - 检索操作系统日期格式的主要内容,如果未能解决你的问题,请参考以下文章