私は週番号と年があり、その週と年の日付(金曜日)を知る必要があります。JavaScriptで週番号と年からの金曜日を取得する
function getFriday(week_num, year)
{
?
return friday_date_object;
}
どうすればよいですか?
私は週番号と年があり、その週と年の日付(金曜日)を知る必要があります。JavaScriptで週番号と年からの金曜日を取得する
function getFriday(week_num, year)
{
?
return friday_date_object;
}
どうすればよいですか?
第1週は、第1木曜日の週です。ここで
は、任意の日を取得するための機能である:
var w2date = function(year, wn, dayNb){
var j10 = new Date(year,0,10,12,0,0),
j4 = new Date(year,0,4,12,0,0),
mon1 = j4.getTime() - j10.getDay() * 86400000;
return new Date(mon1 + ((wn - 1) * 7 + dayNb) * 86400000);
};
console.log(w2date(2010, 1, 4));
週番号は、それが年によって異なる52または53まで、1から始まります。
月曜日は0、月曜日は1、火曜日は...、4は金曜日
ありがとう、これは良い作品 – Peter
はここでいくつかの簡単なコード
var DAY = 86400000;
function getFriday(weekNum, year) {
var year = new Date(year.toString()); // toString first so it parses correctly year numbers
var daysToFriday = (5 - year.getDay()); // Note that this can be also negative
var fridayOfFirstWeek = new Date(year.getTime() + daysToFriday * DAY);
var nthFriday = new Date(fridayOfFirstWeek.getTime() + (7 * (weekNum - 1) * DAY));
return nthFriday;
}
読みやすくするためにいくつかの変数の分割です。
しかし、より複雑な時間操作を記述している場合は、代わりにライブラリを使用する方がよいでしょう。私は、任意の日付のライブラリを使用してはならない場合
私はと思う:
は、uは日曜日が週の延期日であるキリスト教の週を、使用と仮定します。これは、1年の最初の日がその年の最初の週に属しているかどうかを調べるために必要です。
アレイを作成します。 months = new Array(31,28,31、...) (year%4 == 0)ならば、2月は29日間です。
日= num_week * 7;
次に、月を繰り返し、月[現在]を減らします。現在の月の日数で日数が負の増加日数になった場合。
結果:year-(1 +電流)私はこれがあなたの役に立てば幸い
を-days。あなた自身で追加しなければならないものは、1月と初日の処理です。
うるう年は次のように計算されます。 '((年%4 === 0)&&(年%100!== 0))|| (年%400 === 0) ' – magikMaker
確かにgetDay(day_num、week_num、year)は便利でしょうか? – Jim
「その週の金曜日に変換する必要がありますか?」 - あなたの質問に言い直してください - あなたが何を求めているのかを正確に伝えるのは難しいです。 – JM4
@Jim day_numは常に5(friday)です。関数は同じ結果を返すでしょう。 – Peter