• 締切済み

日付の計算できる関数は無いですか?

カレンダーの日付を参照して、 昨日の日付(2001-12-06)を今日の日付(2001-12-07) から見て何日前の日付であるかを確認できるような関数 はありませんか?この場合(-1)と返してくれるような。 私、PHPに関しましては素人なもので・・・ よろしくお願いいたします。

  • PHP
  • 回答数4
  • ありがとう数5

みんなの回答

  • riyop
  • ベストアンサー率41% (7/17)
回答No.4

// 日数の差を返す関数 // $d1,$d2は日付(YYYY-MM-DD) function date_diff($a1,$a2) { $d1 = split("-",$a1); $d2 = split("-",$a2); if(checkdate($d1[1],$d1[2],$d1[0])){return -1;} if(checkdate($d2[1],$d2[2],$d2[0])){return -1;} $ret = (mktime(0,0,0,$d1[1],$d1[2],$d1[0]) - mktime(0,0,0,$d2[1],$d2[2],$d2[0])) / 86400; return $ret; }

  • maro
  • ベストアンサー率47% (95/199)
回答No.3

日付からUNIX時間を割り出し、日付の間隔(秒数)から日数を計算すれば簡単にできます。 //日付を区切り文字で配列化 $date1 = explode("-","2001-12-07"); $date2 = explode("-","2001-12-06"); //日付からUNIX時間を割り出す $date1_time = mktime(0,0,0,date1[1],date1[2],date1[0]); $date2_time = mktime(0,0,0,date2[1],date2[2],date2[0]); //期間を計算し、秒数を日数に変換 $term = ($date1 - $date2) / 3600 / 24;

  • yumityan
  • ベストアンサー率60% (132/220)
回答No.2

おはようございます。 excelのToday関数を使って計算できます。 計算したい日付を入力 例えば 2000/12/5 今日の日付は関数(fx)から日付時間を選びその中のtodayを選択 両方のセルを引き算する セルの書式設定を数値にすると何日前と結果が得られますよ。

  • shunet
  • ベストアンサー率28% (15/52)
回答No.1

time関数でやれば、秒数で計算できます。 1970年の1月1日を0としていますので 今の時間をtimeで取得して、あとは86400秒(1日) を利用して、割って、あまりを処理して・・・ 秒に変換してから、やればいいとおもいます。

関連するQ&A

  • 関数を使わないで日付の計算をしたいのですが。

    2007,7,5,4 年,月,日,曜日(0が日曜日) の入力から、+10日後の日付と曜日を求めたいのですが、 関数を一切使わず計算式と場合分けのみで計算する方法ありますか? 今考えている方法は、地道に、ある基準1970年1月1日をシリアル値で0としそこから、今日までの日数を1月は31、2月は28にちなどを考えてを足していき、シリアル値を算出。 そのシリアル値に+10した値を再び年月日曜日の形に戻す方法しか無いのかと考えています。

  • 休暇を引いた日付を表示させたい。

    例1) 今日の10/10からカレンダーの休日を引いた3日前の日付を表示させたい。 例2)(8)の日は休日 10/10日 10/9 10/(8) 10/7 10/6 10/5  表示を10/6  エクセルでやりたいのですが? 出来たら関数を使って。またはVBAの場合はサンプルを付けて詳しくお願いしたいのですが? 勝手な相談で済みませんがよろしくお願いします。

  • 日付の関数

    エクセルの資料で=TODAY()(今日日付が入るように設定してあるセルがあります。・・でその下のセルには今日の日付の月の末日が入るようにしたいのですが(例えば セルA1に2004年1月14日 セル2に2004年1月31日と表示させたい)どのような関数を使えばいいですか?宜しくお願いします。

  • 日付けについて

    エクセルで見積を作成しています。 見積作成した日付を関数で表示させるように 試みています。  NOWという関数があるのですが この関数では、シートを開くと更新されてしまいますので 今日の日付になって、いつ作成をしたのか 確認ができなくなってしまいす。  関数を使って見積を作成した日を固定するにはどのような 関数を使うと良いでしょうか?  御願いします。

  • 日付

    ある日,カレンダーを見ると,明日の日付と来週の日付の和が 40 になった.今日は何日か. これがさっぱりわかりません。 どなたか解き方教えていただけたら助かります。

  • excelで日付に関する関数

    excelで以下のようなことができる方法を教えてください。 TODAY関数で今日の日付を取り、一週間以内の指定した曜日の日付を返す方法がわかりません。 例えば今日(2012/2/24)から一週間後の2012/3/2の間での月曜日の日付(2012/2/27)を返すものです。 わかる方がいれば教えてください。

  • Excelの日付関数について教えて!

    見積書などでファイルを開いた時に自動で日付が入るように「TODAY」関数を入れていますが、これですと 後日内容を確認する時に日付がその日になってしまいます。 作成する時に自動で日付が入り、後日開いた時に日付が変わらないようにする関数ってありますか? 初心者ですので分かりやすい説明でお願いします。 Excelは2002でOSはXPです。

  • エクセル関数の日付(長文です)

    セルに年月日で日付が入っています。 同じシートの別のセルにその最初に入ってる日付より2日前の日付を表示させたいのですが、どうしたらいいでしょうか? 最初の日付は別のシートで入力した日付が計算式で入っています。 もう一つの日付は、またさらに別のシートでカレンダーを作成して休日をのぞいたもので入力されています。 最初1営業日前で式が入っているのですが =VLOOKUP(F12,カレンダー,2,FALSE)といった式です。 F12は最初の日付のセルです。 カレンダーは別のシートで作ったカレンダー用のしーとです。 これを2営業日前に変更したいのですが、どこを変えればなりますか? 説明がわかりにくいようでしたらまた補足します。 作った人に聞けば早いのですが、今不在で急いで直さないといけないので。 よろしくお願いします。

  • 指定した日付からの前後を取得

    今日ではない特定の日付(2007-4-5)から数えて、 たとえば前後30日目の日付を取得する関数はあるでしょうか? 環境はphp5です。 よろしくお願いします。

    • 締切済み
    • PHP
  • エクセル2003 関数で日付を計算

    エクセル2003を使用しています。 関数で不可能なら、簡単なマクロもOKです。 V34に日付が入力されています。 このセルの内容は時々手入力で変更されます。 3ヶ月後の日付を別のセル(I122)に以下の様な関数で求めています。 =IF(V34="","",EDATE(V34,3)) この3ヶ月後の計算を以下の様に変更したいのですが、どうしたら良いのでしょうか? V34の日の値が1~15の場合には、翌々月の最終日を表示。 (例:V34がH20/6/12の場合、H20/8/31が表示される。) V34の日の値が16以降の場合には、3ヶ月後の最終日を表示。 (例:V34がH20/6/16の場合、H20/9/30が表示される。) ご教示の程、よろしくお願い致します。

専門家に質問してみよう