アプリ版:「スタンプのみでお礼する」機能のリリースについて

日付の比較を行うには、

どのようにしたらよろしいでしょうか?

比較対象セルには、
yyyy/mm/dd表示形式が設定されています。

単純に、d1 == d2
だと、できません。

よろしくお願いします。

A 回答 (1件)

前に確か回答したと思いますが……。



2つのセルに日付のフォーマットが設定されているのでしたら、それをもとにDateオブジェクトを作成し、そこからgetTimeでミリ秒換算した値を取り出して引き算すればいいです。得られた結果を1日のミリ秒数で割れば日数が得られます。

function testfunc(e) {
var sheet = SpreadsheetApp.getActiveSheet(); // とりあえずアクティブシートを指定
var r1 = sheet.getRange(1, 1); // 1つ目のセル
var r2 = sheet.getRange(2, 1); // 2つ目のセル
var d1 = new Date(r1.getValue()); // Dateを作成
var d2 = new Date(r2.getValue()); // Dateを作成
var dt = Math.abs(d1.getTime() - d2.getTime()); // ミリ秒数値を引き算
var d = dt / (1000 * 60 * 60 * 24); // 1日のミリ秒数で割り算
Logger.log(d + "日 "); // ログに出力
}
    • good
    • 3
この回答へのお礼

何度も、質問にお答え頂き、ありがとうございます。
Google Script を、
現在、使用しておりますが、
ネットにも、なかなかなく、
書籍も詳しいものがないので、
苦労しておりますが、
色々と、アドバイスを頂戴し、
なんとか、システムの基盤ができつつあります。
また、わからい事がありましたら、
宜しくお願い申し上げます。

お礼日時:2014/08/06 09:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!