【发布时间】:2014-02-25 04:30:55
【问题描述】:
a : int exp: 1389334939 在 Chrome、FireFox、IE 中:08:53 19/02/2014; 在 Safari (Iphone/Ipad) 中:NaN:NaN NaN/NaN/NaN; 如何解决这个问题?'
function formatDateTime(a) {
var e = [
[11, 'sáng'],
[14, 'trưa'],
[19, 'chiều']
];
var f = ['chủ nhật', 'thứ hai', 'thứ ba', 'thứ tư', 'thứ năm', 'thứ sáu', 'thứ bảy'];
var g = new Date();
var j = new Date(a * 1000);
var d = Math.floor(g.getTime() / 1000) - a;
if (d < 60) return d + ' giây trước';
if (d < 3600) return Math.floor(d / 60) + ' phút trước';
if (d < 43200) return Math.floor(d / 3600) + ' tiếng trước';
var h = j.getHours();
var m = fill2(j.getMinutes());`enter code here`
if (d < 518400) {
var b = 'tối';
for (i = 0; i < 3; i++) if (h < e[i][0]) {
b = e[i][1];
break
}
d = (g.getDay() + 7 - j.getDay()) % 7;
var k = '';
var sdate = true;
if (d == 0) {
k = 'hôm nay';
sdate = false;
} else if (d == 1) {
k = 'hôm qua';
sdate = false;
} else k = f[j.getDay()];
var result = (h % 12).toString() + ':' + m + ' ' + b + ' ' + k;
if (sdate) result += ', ' + fill2(j.getDate()) + '/' + fill2(j.getMonth() + 1) + '/' + j.getFullYear();
return result;
}
h = fill2(h);
return h + ':' + m + ' ' + fill2(j.getDate()) + '/' + fill2(j.getMonth() + 1) + '/' + j.getFullYear();
}
function fill2(value) {
return value < 10 ? ('0' + value) : value;
}
非常感谢!
【问题讨论】:
-
你想达到什么目的(输入-输出)?您将什么值传递给
formatDateTime(a)您是否有演示该问题的 jsFiddle? -
输入是整数:1389334939 输出:08:53 19/02/2014
-
在 Safari (Iphone/Ipad) 中输出:NaN:NaN NaN/NaN/NaN;
-
而
1389334939是什么?自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数? -
日期时间的总秒数。 //var j = new Date(a * 1000);自 1970 年 1 月 1 日 00:00:00 UTC 以来的毫秒数?
标签: javascript ios iphone ipad nan