私はjs関数を作りたいです。年と月の数字を入力すると、その月に黒い金曜日がある場合はtrueを返します。 これを行うsimlar moment.jsのメソッドまたは関数はありますか?どうも。moment.js black friday今月ブール
0
A
答えて
0
この関数は、指定された月の最後の金曜日の日付を返します。m
およびy
です。
function hasBlackFriday(y, m) {
var date = moment(new Date(y, m - 1, '1'))
result = date.endOf('month');
while (result.day() !== 5) {
result.subtract(1, 'day');
}
return result;
}
console.log(hasBlackFriday(2017, 4).format('M DD YY'))
2
あなたは、あなたがday()
を使用して曜日を取得することができmoment({unit: value, ...});
を使用して使用して、指定された月の13日を表す瞬間オブジェクトを作成することができます。 docsが言うように:
この方法は、あなたが
day()
が5に等しいかどうかを確認することができます6.
として土曜日0として日曜日で、曜日を設定するために使用することができます(金曜日)。ここでは実施例
:
function hasBlackFriday(year, month) {
return (moment({y: year, M: month, d: 13}).day() === 5);
}
// Test foreach month of 2017
for(var i=0; i<12; i++){
console.log(hasBlackFriday(2017, i));
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
がmoment({unit: value, ...});
ドキュメントが言うように、覚えておいてください:moment(Array)
とnew Date(year, month, date)
が好き
注意、月がインデックス0です。
マット・ジョンソンはコメントで強調したように、あなたもここで、サンプルネイティブJavaScriptのDateオブジェクトを使用して同じ結果を得ることができます。
function hasBlackFriday(year, month) {
return (new Date(year, month, 13).getDay() === 5);
}
// Test foreach month of 2017
for(var i=0; i<12; i++){
console.log(hasBlackFriday(2017, i));
}
+1
これは良いアプローチです。また、あなたは本当にこれのためにモーメントを必要としないことに注意してください。 'Date'オブジェクトは同様の機能を持っています。 –
関連する問題
- 1. 12月31日のMoment.jsで今年のスタートはなぜですか?
- 2. 今日までのカウント日数moment.js
- 3. 今月のSQLで
- 4. 今月のベストセラーアイテムPOSTGRESQL
- 5. 今月のカレンダー表示
- 6. 今月の就業日数
- 7. 小枝:今年の各月
- 8. 昨年の今月のMTD
- 9. カスタマイズカレンダー[今月のハイライト表示]
- 10. 月-1年、私は昨年 今月今月の間に統計を比較したい結果
- 11. 今日の日付から次のx月を取得する
- 12. Moment.jsは月の最終日に1を返します
- 13. moment.jsで月のショートネームを取得するには?
- 14. Moment.js追加月が機能していません
- 15. moment.jsを使って1か月を引く方法は?
- 16. カウント今日の訪問、今週、先月の総[MySQLのクエリ]
- 17. NSDate - 今月の予定日(今年の日ではない)?
- 18. マイナス今日の月の次の月の日付
- 19. 今月と先月の出席のためのSQLサブクエリ
- 20. 今月と先月の2つのdatetimes間の平均時間
- 21. Informatica:今月のデータがない場合、前月使用
- 22. uiviewcontroller black
- 23. 今日の当月の日付
- 24. 今年の月間訪問数
- 25. <=今日の同じ月の日、私
- 26. 今日からnヶ月後のJavascript
- 27. 今月のセルをハイライト表示 - Googleシート
- 28. 今年の第2月曜日
- 29. 私はmoment.js
- 30. がmoment.js
を黒金曜日です11月の最後の金曜日? –
黒金曜日とは何ですか?これまでに何を試しましたか? – VincenzoC
申し訳ありませんが、私は11月か10月ではなく、 "金曜日13日"を意味します。 私は年月を解析してみましたが、13日は金曜日かどうかを確認しましたが、もっと良いアイデアがあることを知りたいです。 – user3160227