从特定区域设置的角度日期过滤器输出格式化日期
Output formatted date from Angular date filter in specific locale?
我正在使用以下过滤器:
{{music.start | date : "dd MMMM yyyy"}}
Angular 输出计算机区域设置中的月份。但我让我的用户在应用程序中选择区域设置。
localize.language = "en"
告诉 Angular 以该语言而不是计算机区域设置输出格式化日期的好方法是什么?
我幻想着类似的东西:
{{music.start | date : "dd MMMM yyyy" : localize.language}}
但我欣赏任何解决方案的想法。
要么你
- 使用
toLocaleDateString()
转换控制器中的日期并将其作为属性追加到music
对象或 - 您使用像
{{music.start| date:'shortTime'}}
这样的符号名称 - 但是,如果没有您要查找的时间信息,这不会产生真正短的日期。
下面是一篇关于设置特定区域设置格式的不同方法的博客文章。
您的想法行不通,因为您交了一个固定的日期字符串,并期望根据区域设置重新格式化它。这将容易出错且难以理解。
您可以在控制器中尝试以下示例
var options = { month: 'long', day: 'numeric',year: 'numeric' };
console.log(music.start.toLocaleString('en-US', options))
有关 toLocaleString() 的更多信息也存在于 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString url 上。
这是文档。
https://angular.io/api/common/DatePipe
他们给出的例子是:
<!--output 'Lundi 15 Juin 2015 à 09:03:01 GMT+01:00'-->
<p>The full date/time in french is: {{today | date:'full':'':'fr'}}</p>
相关文章:
- 更改MongoDB中日期过滤器的灵敏度
- 角度日期过滤器扩展 - 翻译
- AngularJS 日期过滤器与$watchGroup
- Javascript日期过滤器改进
- 从特定区域设置的角度日期过滤器输出格式化日期
- JQGrid - 日期过滤器不适用于日期格式(日期(1453636335000))
- 有没有办法在没有本地时区的情况下使用 angularjs “日期”过滤器
- AngularJS日期过滤器firefox/safari问题
- MySQL中用于AngularJS日期过滤器过滤的日期格式
- AngularJS日期过滤器显示错误的日期
- 无法应用日期过滤器内置的angular js
- 如何在ng模型中使用日期过滤器
- 在Javascript API中处理Tableau日期过滤器
- 角度日期过滤器不适用于ng重复
- RethinkDB JavaScript日期过滤器
- AngularJS日期过滤器将短日期格式转换为'M/d/y '标签/字符串
- Angular日期过滤器不能与双向数据绑定一起工作
- Angular.js日期过滤器显示提前一个月
- 网格.MVC日期过滤器"选项不起作用
- 如何在angular js中应用一个年份或月份范围日期过滤器