ホームページ  >  記事  >  ウェブフロントエンド  >  JSは指定された範囲内の時刻リストを生成します

JSは指定された範囲内の時刻リストを生成します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-20 10:24:481054ブラウズ

今回は、指定した範囲内の時刻リストを生成するための JS について説明します。 JS が指定した範囲内の時刻リストを生成するための 注意事項 について、実際のケースを見てみましょう。

「YYYYMMDD」形式、単純な関数、単純なアイデアを満たす、指定された時間範囲内で毎日を取得する必要があるシナリオに遭遇しました

準備

Date

オブジェクトメソッドはたくさんありますが、以下が使用されます:

new date()は日付オブジェクトを生成します、年、月、日などを直接指定できます、new date(year,month,day)

getFull Year()は日付オブジェクトの年を返します

getMonth()日付オブジェクトの月 (0) を返します ~11)、カウントは 0 から始まることに注意してください

getDate() は日付オブジェクトの日を返します、1 からカウントし始めることに注意してください

getTime() が返されます1970年1月1日から日付オブジェクトまでのミリ秒数

指定された範囲を解析

yyyy-mm-dd形式に従って

文字列時間範囲を入力し、分割して年、月、日を取得することが規定されています開始時刻と終了時刻を取得し、対応する日付オブジェクトを生成してミリ秒を取得します

  let st = start.split('-');
  let et = end.split('-');
  let startTime = new Date(st[0],st[1]-1,st[2]).getTime();
  let endTime = new Date(et[0],et[1]-1,et[2]).getTime();
注: 月 0 から始まるので 1 を引く必要があります

毎日取得します

どの日が何日であるかを知る方法時間範囲内でしょうか?上記には、開始時刻と終了時刻から 1970.1.1 までのミリ秒数が含まれており、各日は 24 * 60 * 60 * 1000 ミリ秒であるため、毎日のミリ秒数を計算できます

    for( let i = startTime ; i <= endTime ; ){
        res.push(formatTime(i,&#39;&#39;));
        i += 24 * 60 * 60 * 1000;
    }

フォーマットされた出力

時刻を書式設定し、1 桁の数字に 0 を追加し、指定された区切り文字を追加します

function formatTime(time,spliter = &#39;-&#39;){
    let date = new Date(time);
    let year = date.getFullYear();
    let month = (date.getMonth() + 1) >= 10 ? (date.getMonth() + 1) : '0' +  (date.getMonth() + 1);
    let day = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate();
    return `${year}${spliter}${month}${spliter}${day}`
}
検証

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、その他の情報に注意してください。関連記事はPHP中国語サイトにあります!

推奨読書:

JavaScript の継承とプロトタイプチェーン

text-align が両端での位置合わせを実現する方法

以上がJSは指定された範囲内の時刻リストを生成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。