デフォルトのjavaスクリプトまたはjquery関数を使用して、特定の日付の次の日付を「yyyymmdd」形式で取得することは可能ですか?
6 に答える
jQuery UIを指定したので、組み込みの日付フォーマッターを使用して必要な出力を取得できます。
以下に示す正規表現の使用は、new Date
日付解析の変動が結果に影響を与えないことを保証するためのものです。
function getTomorrow(dateStr) {
var ymd = dateStr.match(/^(\d{4})(\d{2})(\d{2})$/);
if (ymd) {
var date = new Date(ymd[1], ymd[2] - 1, ymd[3]);
date.setDate(date.getDate() + 1);
return $.datepicker.formatDate('yymmdd', date);
} else { // parse error
return null;
}
}
ここには少し混乱があるようです。
javascript Dateオブジェクトの中心は、1970-01-0100:00:00UTCからのミリ秒です。その最後のビットは非常に重要です。
パーツを指定して日付を作成する場合、たとえば2012年9月2日(月番号に注意):
new Date(2012, 8, 2);
次に、ホストのローカルタイムゾーンの日付の開始時に深夜に日付オブジェクトが作成されます。つまり、ローカルタイムゾーンの2012-09-02T00:00:00です。ただし、エポックからの時間を指定すると、たとえば
new Date(1346544000000) // 2012-09-02T00:00:00Z
次に、日付はその時刻UTCに作成されるため、同じ時刻UTCを表す異なるタイムゾーンで異なる現地時刻が表示されます。したがって、時刻が2012-09-02T00:00:00Zの場合、GMT(GMT + 10)の10時間前のタイムゾーンでは次のようになります。
2012-09-02T10:00:00+1000
タイムゾーンがGMT(GMT-06)から6時間遅れている場合、次のようになります。
2012-09-01T18:00:00-0600
等々。
日付オブジェクトを作成し、日付に1を加えたものを設定します。
var dateStr = "20120902";
var d = new Date(dateStr.replace(/(\d{4})(\d{2})(\d{2})/, '$1/$2/$3'));
d.setDate(d.getDate() + 1);
console.log(d);
コードは次のとおりです。
function getnextDay(prevDate) {
var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
prevDate = prevDate.toString();
var formatteDate = prevDate.substr(0, 4) + ',' + prevDate.substr(4, 2) + ',' + prevDate.substr(6, 2);
formatteDate = new Date(formatteDate);
document.write(weekday[formatteDate.getDay() + 1])
}
getnextDay(19890831)
と フィドル
そのかなり簡単です。
var today = new Date();
var date = new Date(today.getFullYear(),today.getMonth(),today.getDate()+1);
日付機能を広範囲に使用する場合は、moment.jsを使用してください。
翌日になるには、これで十分です。
はい
次のように、javaScriptを使用すると非常に簡単です。
today = new Date().getTime();
tomorrow = today + 24*60*60*1000;
parsed_tomorrow = new Date(tomorrow);