Saya punya masalah aneh saat mengonversi dari unix timestamp ke representasi manusia menggunakan javascript
Berikut stempel waktunya
1301090400
Ini adalah javascript saya
var date = new Date(timestamp * 1000);
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDay();
var hour = date.getHours();
var minute = date.getMinutes();
var seconds = date.getSeconds();
Saya mengharapkan hasil menjadi 2011 2, 25 22 00 00. Tapi 2011, 2, 6, 0, 0, 0 Apa yang saya lewatkan?
javascript
timestamp
georgevich
sumber
sumber
Jawaban:
getDay()
mengembalikan hari dalam seminggu. Untuk mendapatkan tanggal, gunakandate.getDate()
.getMonth()
mengambil bulan, tetapi bulan berbasis nol, jadi menggunakangetMonth()+1
akan memberi Anda bulan yang tepat. Nilai waktu tampaknya baik-baik saja di sini, meskipun di sini jam 23 (GMT + 1). Jika Anda menginginkan nilai universal, tambahkanUTC
ke metode (mis.date.getUTCFullYear()
,date.getUTCHours()
)var timestamp = 1301090400, date = new Date(timestamp * 1000), datevalues = [ date.getFullYear(), date.getMonth()+1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), ]; alert(datevalues); //=> [2011, 3, 25, 23, 0, 0]
sumber
minute = (minute < 10 ? "0" : "") + minute;
date.getUTCHours()
?var newDate = new Date(); newDate.setTime(unixtime*1000); dateString = newDate.toUTCString();
Di mana
unixtime
waktu yang dikembalikan oleh sql db Anda. Ini biola jika bisa membantu.Misalnya, menggunakannya untuk waktu saat ini:
document.write( new Date().toUTCString() );
sumber
"unixtime is undefined"
adalah apa yang saya dapatkan di sininew Date(1480966325 * 1000).toUTCString()
berikut adalah jawaban kooilnc w / padded 0
function getFormattedDate() { var date = new Date(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); var min = date.getMinutes(); var sec = date.getSeconds(); month = (month < 10 ? "0" : "") + month; day = (day < 10 ? "0" : "") + day; hour = (hour < 10 ? "0" : "") + hour; min = (min < 10 ? "0" : "") + min; sec = (sec < 10 ? "0" : "") + sec; var str = date.getFullYear() + "-" + month + "-" + day + "_" + hour + ":" + min + ":" + sec; /*alert(str);*/ return str; }
sumber
Jam, menit, dan detik tergantung pada zona waktu sistem operasi Anda. Di GMT (UST) itu 22:00:00 tetapi di zona waktu yang berbeda bisa apa saja. Jadi tambahkan perbedaan zona waktu ke waktu untuk membuat tanggal GMT:
var d = new Date(); date = new Date(timestamp*1000 + d.getTimezoneOffset() * 60000)
sumber
gunakan
Date.prototype.toLocaleTimeString()
seperti yang didokumentasikan di siniharap perhatikan contoh lokal en-US di url.
sumber