0
我擁有的是用戶選擇/提供的日期字符串yyyy-mm-dd
。基於用戶使用的輸入。我想創建一個時間戳,相當於午夜的開始日期00:00:00
或午夜的結束日期23:59:59
創建一個時間戳,該時間戳等於yyyy-mm-dd 00:00:00或23:59:59
我想要在純javascript中執行此操作。但UTC/GMT自動抵消事情正在通過一個循環。客戶端,我看到午夜,服務器端,我看到午夜+抵消,來自加利福尼亞州的例子。時間戳等於yyyy-mm-dd 08:00:00
是否有辦法始終提出00:00:00或23:59:59?
我現在稍工作嘗試
function yyyy_mm_ddToTS(str, beforeMidnight)
{
//if beforeMidnight == true, 23:59:59 is appended to the yyyy-mm-dd string
if(typeof str !== 'undefined')
{
//validate str format = yyyy-mm-dd
var re = /^\d{4}-\d{1,2}-\d{1,2}$/;
if(re.test(str) == false){msgDisplayBox(null, 'Invalid date string use: yyyy-mm-dd', null);return false;}
}
append_hh_mm_ss = ' 00:00:00';
if(typeof beforeMidnight !== 'undefined')
{
if(whatDataType(beforeMidnight) == "boolean")
{
if(beforeMidnight == true)
{
append_hh_mm_ss = ' 23:59:59';
}
}
}
var newStr = str+append_hh_mm_ss;
var d = newStr.match(/\d+/g);
//d = d.join(',');
console.log(d[0], d[1] - 1, d[2], d[3], d[4], d[5]);
var dateString = new Date(d[0], d[1] - 1, d[2], d[3], d[4], d[5]);
dateString.setHours(0,0,0,0);
return dateString.getTime();
}
它返回yyyy-mm-dd 08:00:00
沒有yyyy-mm-dd 00:00:00
轉換時,服務器端後
嗯,嗯..不知道那個'。 UTC()'只是做我所需要的,謝謝 – chris
不,幾乎做到了:-)只是意識到「早晨」一個是輸出12:00:00。我需要00:00:00,但這比我採用 – chris
@chris的路線要近得多,可能是24 vs 12小時時間格式問題,例如23:59:59是明確的24小時格式,但是00:00:00可能是24和12小時格式 – mdolbin