Json返回的日期如下:
2017-09-14T22:11:05.5303556
我希望以用户友好的格式返回,例如:
09/14/2017 22:11:05
这是Json:
[
{
id: 98,
dateCreated: "2017-09-14T22:11:05.5303556"
},
{
id: 99,
dateCreated: "2017-09-14T22:11:05.5615556"
}
]
这是JavaScript:
<script>
$.ajax({
url:'http://mywebsite/api/Response',
dataType: 'json',
success: function(json) {
myTable = $('#myTable').columns({
data:json,
schema: [
{"header":"ID", "key":"id"},
{"header":"Date", "key":"dateCreated"}
],
});
}
});
</script>
我必须做出哪些更改才能以用户友好的格式显示日期?谢谢你的帮助。
答案 0 :(得分:1)
您可能需要查看10 ways to format time and date using javascript。
例如,您可以为每个日期执行此类操作:
var example_date = '2017-09-14T22:11:05.5303556';
function formatDate(date) {
var d = new Date(date),
month = d.getMonth(),
date = d.getDate(),
year = d.getFullYear(),
hours = ('0' + d.getHours()).slice(-2),
minutes = ('0' + d.getMinutes()).slice(-2),
seconds = ('0' + d.getSeconds()).slice(-2);
month++;
return (month + '/' + date +'/' + year + ' ' + hours + ':' + minutes + ':' + seconds);
}
console.log(formatDate(example_date));
您还可以使用.toLocaleTimeString()
和.toLocaleDateString()
并将两者合并。
如果你不反对使用第三方图书馆,我建议你去MomentJS。它非常适合您轻松格式化日期/时间,例如......
for (var i in json){
json[i].dateCreated = moment(json[i].dateCreated).format('MM/DD/YYYY hh/mm/ss');
}
...其中json
是返回的对象,会产生:
[{"id":98,"dateCreated":"09/14/2017 10/11/05"},{"id":99,"dateCreated":"09/14/2017 10/11/05"}]
答案 1 :(得分:1)
我认为new Date(date).toLocaleDateString()
可以完成工作
示例:
$.ajax({
url: 'http://mywebsite/api/Response',
dataType: 'json',
success: function(json) {
const data = json.map((obj) => (
Object.assign(
{},
obj,
{ dateCreated: new Date(obj.dateCreated).toLocaleDateString() }
)
));
myTable = $('#my-table').columns({
data: data,
schema: [
{ "header": "ID", "key": "id" },
{ "header": "Date", "key": "dateCreated" }
],
});
}
});
我希望有帮助^ __ ^
答案 2 :(得分:0)
JavaScript中的日期格式已经完成了一百万次。
如果您只想要一种简单的格式,请参阅this SO answer。 如果你想要更强大的东西,我建议你Moment.js。
时刻示例:
moment().format('MMMM Do YYYY, h:mm:ss a');
制作:2017年9月15日,下午12:57:45