javascript - 如何使用 angular 2 或 javascript 从客户端机器获取日期和时间格式?

标签 javascript jquery angular

transform(value: any): any {
    var customdate = new DatePipe(navigator.language);
    value = customdate.transform(value,"dd-mm-yyyy");
    return value;
}   

我需要在“dd-mm-yyyy”处获取客户端机器的日期格式。

最佳答案

不幸的是,似乎没有办法从浏览器中获取日期的首选格式。您可以获得有关用户所在的语言环境 的某些信息,并且您可以从中推断出适当的默认值。例如,以下代码片段使用 ECMAScript 国际化 API(在回答 how to get local date/time format? 后发布):

console.log(new Intl.DateTimeFormat().resolvedOptions())

/*
On my machine, this outputs:
{
  "locale": "en-US",
  "calendar": "gregory",
  "numberingSystem": "latn",
  "timeZone": "America/New_York",
  "year": "numeric",
  "month": "numeric",
  "day": "numeric"
}
*/

根据这些信息,您应该能够使用服务器端语言/框架来构建必要的格式。例如,在 .NET 中,使用 C#:

var culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
var dateTimeInfo = culture.DateTimeFormat;
var formats = dateTimeInfo.GetAllDateTimePatterns();
// formats now contains a list of formats for this culture

关于javascript - 如何使用 angular 2 或 javascript 从客户端机器获取日期和时间格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45376909/

相关文章:

jquery - Bootstrap 3 更新会在 Bootstrap 对话框打开或关闭时摇动 UI。我怎样才能摆脱这种行为?

javascript - 单击按钮时执行 javascript 脚本

组件上的 Angular 强制输入

javascript - 隐藏模式弹出窗口后显示边框的 Bootstrap 导航栏

javascript - 事件处理程序和颜色对比上的javascript

javascript - 在谷歌地图javascript下拍摄特定区域的快照

javascript - 复选框的 jQuery onclick 错误

angular - 在 Angular2 中使用 Promise 和 Zones

javascript - Angular 2 : What is the "official" standard folder structure?

javascript - Bootstrap 3 导航标签不会在点击时改变