【问题标题】:Get date and currency formats获取日期和货币格式
【发布时间】:2012-08-27 22:07:10
【问题描述】:

有没有一种方法可以让我使用 JavaScript 获取用户的日期和货币格式配置?

【问题讨论】:

  • 如果你的意思是你想得到一个像“dd MMM yyyy”这样描述日期格式的字符串,那么没有。如果您希望能够使用本地格式显示日期,那么可以。
  • 我觉得做不到。您可以尝试使用new Date().toLocaleDateString(),然后对日期格式进行逆向工程,但即使这个结果也是特定于浏览器的。
  • 你会如何处理这些信息,用户的配置是什么意思?您打算以浏览器的本机格式还是以用户的首选格式读取和写入日期和货币? (两个完全不同的东西。)
  • 我坚持这是不可能的,你们都确认...谢谢!!!

标签: javascript jquery html localization geolocation


【解决方案1】:

您可以通过HTML5 geolocation(或服务器端)知道用户的位置。并根据位置,了解币种。但是你需要一张国家地图 -> 货币。

HTML 基本示例:

function getLocation() {
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
  } else{
    alert("Geolocation is not supported by this browser.");
  }
}
function showPosition(position) {
  alert("Latitude: " + position.coords.latitude + " Longitude: " + position.coords.longitude) 
}

【讨论】:

  • 知道位置可以告诉您该位置的货币,但不能告诉您用户的实际货币格式设置。因国家而异的一件事是逗号和句号是否用于千位分隔符或小数点,但如果我在德国度假,我不会将计算机的格式切换为使用1.234,56,我仍然会想看1,234.56
  • 你是对的。所以,只要知道那个国家的位置和货币。但如果是用户的本币,是不可能的。我们谈论的是技术,而不是魔法=P
【解决方案2】:

如果本地计算机解析(并输出)格式为 dd-mm-yyyy 的日期字符串,则这会将 Date 的“ddmm”属性设置为 true, 如果本机格式为 mm-dd-yyyy,则为 false。

Date.ddmm= (function(){
    return Date.parse('2/6/2009')== 1243915200000;
})();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-16
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    相关资源
    最近更新 更多