1

我有以下代码,我从 JSON 响应中获取数据。我想将日期字符串格式更改为国家/地区设置。我正在使用 angular-translate 进行翻译,并在相应的语言环境 json 文件中添加了所有字符串。例如,我想为 es_ES(西班牙语)语言环境添加日期格式(dd/mm/year),为 en_US 添加日期格式(mm/dd/year)。我可以在 Json 文件中添加日期格式吗,或者如何添加过滤器以在标记本身中设置格式?有可能吗?

//Sample Html markup
<tr ng-repeat="data in data.list">
<td>{{data.originalDate}}</td>
<td>{{data.expiryDate}}</td>
</tr>          

//sampleJsonResponse
{
"data": [
"{originalDate:\"09/30/2017\",expiryDate:\"10/30/2018\"}"
 ]
}

谢谢

4

2 回答 2

1

您可以仅使用 javascript 将日期转换为不同的语言环境:

首先,您需要使用 (new Date(yourdate)) 创建日期对象:

let date = new Date('10/30/2018');

然后将日期设置为特定的语言环境使用破折号而不是下划线

date.toLocaleString('es-ES')

出于您的目的,您可以这样做:

new Date(data[0].originalDate).toLocaleString('es-ES')
new Date(data[0].expiryDate).toLocaleString('es-ES')

或对整个数据进行映射,如下所示:

data.map(value => {
return { 
originalDate: new Date(value.originalDate).toLocaleString('es-ES'), 
expiryDate: new Date(value.expiryDate).toLocaleString('es-ES')
}
});

更多信息在这里:

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

对于所有其他高级日期操作,我建议momentJS:https ://momentjs.com/

于 2017-09-22T01:29:29.027 回答
0

我正在使用sugar.js javascript 库进行日期格式设置,并且它还有其他通用功能,例如数字和字符串格式设置,这些功能在我的代码库中非常有用。

于 2017-09-26T19:49:19.737 回答