我正在遍歷 php 中的元素陣列并通過 javascript 訪問每個元素。我想比較日期,但為了做到這一點,我必須取出創建新 Date() 物件所需的資訊。這是資訊在 php 中的樣子:
"0": {
.
.
.
"dateInfo": {
"date": "2021-11-19 00:00:000000",
"timezone_type": 3,
"timezone: "UTC"
},
.
.
.
},
我正在通過執行以下操作從 javascript 中的陣列訪問這些:
array["0"]["dateInfo"]
我試圖通過執行以下操作將年月和日期變成一個新的 Date() 物件:
var parts = array["0"]["dateInfo"]["date"].split('-');
var dateToComp = new Date(parts[0], parts[1], parts[2]);
但是當我做一個時,console.log(dateToComp);它說這是一個無效的日期。我的最終目標是將這個日期與今天的日期進行比較以獲得一些時尚的東西:
var today = new Date()
var parts = array["0"]["dateInfo"]["date"].split('-');
var dateToComp = new Date(parts[0], parts[1], parts[2]);
if(dateToComp < today)
{
return 0; // in the past
}
else
{
return 1; // same day or future day
}
我希望我想說的話是有道理的,任何幫助將不勝感激。謝謝你。
uj5u.com熱心網友回復:
但是當我做了一個 console.log(dateToComp); 它說這是一個無效的日期。
因為parts[2]是“19 00:00:000000”,這是一個無效的日期組件。而是在任何非數字字符上拆分\D。此外,您需要從月份中減去 1。
例如
let date = '2021-11-19 00:00:000000';
// Split on any non–digit character
let [y, m, d] = date.split(/\D/);
// Months are zero indexed
// Treat input as local
console.log(new Date(y, m-1, d).toString());
// Treat input as UTC
console.log(new Date(Date.UTC(y, m-1, d)).toISOString());
uj5u.com熱心網友回復:
var dateToComp = new Date(parts[0], parts[1], parts[2].split(' ')[0]);
uj5u.com熱心網友回復:
new Date(array["0"]["dateInfo"]["date"])
應該管用
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/382254.html
標籤:javascript php 数组 约会时间
