【问题标题】:Formatting the date based on client OS date format in Angular JS application在Angular JS应用程序中根据客户端操作系统日期格式格式化日期
【发布时间】:2018-03-22 06:26:26
【问题描述】:

我的应用程序有要求,我们需要根据客户端操作系统日期格式显示日期格式。我已使用以下代码来执行此操作。


function getFormatedDateTime(date) {
var dateFormated = moment(date).toDate();
return dateFormated.toLocaleDateString();
};

这在 IE 中按预期工作,这意味着当我在我的 PC 中更改日期格式时,整个应用程序中的日期格式正在发生变化。 但问题是它在其他浏览器(Chrome、Fire Fox..等)中不起作用。 我们在我们的应用程序中使用moment.js,是否有任何选项可以满足我的要求。 任何人都可以帮我解决这个问题。 提前致谢

【问题讨论】:

    标签: javascript angularjs momentjs angular-moment


    【解决方案1】:

    您无法获取用户系统时间格式 - 出于安全原因,JavaScript 不会透露有关底层操作系统的信息。

    试试这个

    function getFormatedDateTime(date) {
        var dateFormated = new Date();
        return dateFormated.toLocaleDateString();
    };
    

    这不会告诉您的代码用户选择的日期格式是什么,但它可以让您以用户的任何格式返回日期。

    参考链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

    更改系统日期格式将反映在浏览器重新启动。

    【讨论】:

      【解决方案2】:

      您需要使用如下日期时间格式的时刻
      时刻(日期,'MM/DD/YYYY')

      【讨论】:

      • 这仅适用于 'MM/DD/YYYY' 但我的要求是,当我更改计算机日期格式时,它也应该在应用程序中更改。
      • 您需要为此设置语言环境,请点击此链接momentjs.com/docs语言环境部分
      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多