2 つの日付を相互に比較するスクリプトがあります。しかし、どちらも異なる方法で入ってきます。月/日/年の文字列形式に変換してから、日付形式に変換したもの。もう 1 つは、既に日付形式になっている Google スプレッドシートのセルに直接使用されます。しかし、それらを比較すると、日付が比較範囲内であっても機能しません。これが私のコードです:
function formatDate(someDate){
var x = someDate.split("T");
var v = x[0].split("-");
var newDate = new Date();
newDate.setFullYear(v[0],(v[1]-1),v[2]);
//var newDate = v[1]+"/"+ v[2]+"/"+v[0];
return newDate;
}
//calling formatDate within another function
if(startDate != ''){
if(singleCard[j].date != undefined){
var k = singleCard[j].date;
var f = formatDate(k);
var dt = new Date(f);
if(dt >= startDate && dt <= endDate){ //date comparison
//do something here
}
開始日と終了日は次の形式で表示されます。
Fri Oct 12 2012 00:00:00 GMT-0700 (PDT)
singleCard[j].date は文字列として入ってきます:
"2012-10-12T16:57:51.517Z"
そして、私は使用します:
var f = formatDate(date) -> var dt = new Date(f)
それを処理します。
ここで何が間違っているのかわかりません。ありがとう。