質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

6249閲覧

javascriptを利用して昨日、本日、明日の年月日をyyyymmdd形式で取得したい

kaz1109

総合スコア16

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2017/03/22 14:28

getDate()を利用して本日の日付をyyyymmddで取得することは出来たのですが昨日と明後日をうまく取得することができません。

例えば下記の用に書くとPCの日付が12/31の場合、1232となってしまいます。

//今日 var nnow = new Date(); var nYear = nnow.getFullYear(); var nMonth = ("00" + (nnow.getMonth()+1)).slice(-2); var nDate = ("00" + nnow.getDate()).slice(-2); var valToday = nYear + nMonth + nDate; //明日 var tomorrow = new Date(); var tYear = tomorrow.getFullYear(); var tMonth = ("00" + (tomorrow.getMonth()+1)).slice(-2); var tDate = ("00" + (tomorrow.getDate() +1 )).slice(-2); var valTomorrow = tYear + tMonth + tDate; //昨日 var yesterday = new Date(); var yYear = yesterday.getFullYear(); var yMonth = ("00" + (yesterday.getMonth()+1)).slice(-2); var yDate = ("00" + (yesterday.getDate() -1 )).slice(-2); var valYesterday = yYear + yMonth + yDate;

理想はPCの日付が2017/12/31の場合、以下のように出力したいのですが何か良い方法はございますでしょうか?

昨日:20171230
本日:20171231
明日:20180101

ご回答いただけますと幸いでございます。
どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

日付の加算、減算をする時は、Dateオブジェクト自体を変更するようにするとできます。

javascript

1var zfill = function(str) { 2 return ("00" + str).slice(-2); 3} 4 5var strftime = function(date) { 6 return date.getFullYear() + zfill(date.getMonth() + 1) + zfill(date.getDate()); 7} 8 9// 今日 10var now = new Date(); 11var today = strftime(now); 12 13// 昨日 14now.setDate(now.getDate() - 1) 15var yesterday = strftime(now); 16 17// 明日 18now.setDate(now.getDate() + 2) 19var tomorrow = strftime(now); 20

投稿2017/03/22 14:52

tell_k

総合スコア2120

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaz1109

2017/03/22 16:03

早々にご回答いただき誠にありがとうございました。 大変シンプルで分かりやすく参考になりました。 同時に自身の勉強不足を痛感致しました。 取り急ぎではございますが御礼申し上げます。
guest

0

【javascriptで日付(月・日)を加算(減算)してみた - shoprevのブログ】
http://shoprev.hatenablog.com/entry/2014/09/18/223316

【JavaScript による日付・時刻・時間の計算・演算のまとめ – hoge256 blog】
http://www.hoge256.net/2007/08/64.html

投稿2017/03/22 14:51

kei344

総合スコア69398

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kaz1109

2017/03/22 16:05

ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問