JavaScript の Date オブジェクトを完全にマスターする

WBOY
リリース: 2022-05-18 11:58:03
転載
2143 人が閲覧しました

この記事では、javascript に関する関連知識を提供します。主に日付オブジェクトに関する関連問題を紹介します。Date オブジェクトはコンストラクターであるため、オブジェクトのインスタンス化を行う必要があります。つまり、オブジェクトのインスタンス化を実行する必要があります。新しく合格しました。見てみましょう。皆さんのお役に立てれば幸いです。

JavaScript の Date オブジェクトを完全にマスターする

#[関連する推奨事項:

JavaScript ビデオ チュートリアル Web フロントエンド ]

次に、JS の一般的な組み込みオブジェクトの 2 番目のタイプである Date オブジェクトについて説明します

#Date オブジェクトは Math オブジェクトとは異なります。はコンストラクターではないため、直接使用できます。Date オブジェクトはコンストラクターであるため、new を渡してから使用できるようになる前に、オブジェクトをインスタンス化する必要があります。Date オブジェクトは主に、日時の問題を処理するために使用されます。発達。

日付オブジェクトのインスタンス化:
var date=new Date();
ログイン後にコピー

日付オブジェクトのインスタンス化にはパラメータを含めることも、パラメータを含めないこともできます。パラメータなしの出力は現在のシステムです。標準時刻です。その際、パラメータがあれば表示したい時刻を出力できます。

1: パラメータなしのインスタンス化

パラメータなしのインスタンス化後に表示されます。現在のシステムの日時

var date=new Date();  //没有参数

console.log(date);  //会输出当前时间
ログイン後にコピー

2: パラメータを使用したインスタンス化

パラメータを使用したインスタンス化は 2 つのタイプに分けられます

numeric typestring type です。以下は、それぞれ 2 つのタイプの例です

1. 数値パラメータのインスタンス化:

var date=new Date(2021,1,18);  //数字型参数

console.log(date);
ログイン後にコピー

入力したパラメータは January ですが、出力結果は Feb (2 月) であることがわかります。数値出力は入力した月よりも小さくなり、1 か月古いことがわかります。

2. 文字列パラメータのインスタンス化:

var date=new Date('2021-1-18 12:56:00');  //字符串型参数

console.log(date);
ログイン後にコピー

パラメータは 1 月であり、出力結果も 1 月です。文字列パラメータは数値パラメータよりも頻繁に使用されます。

3: 年、月、日の書式設定

Math オブジェクトには直接使用できる多くのプロパティとメソッドがあることはすでにわかっていますが、同じことが当てはまります。 Date オブジェクト。インスタンス化後にも使用できます。メソッドは多数ありますが、年、月、日をフォーマットするためによく使用されるメソッドが 3 つあります。

getFull Year() 現在の年の出力

##getMonth() # 現在の月を出力します (出力月は実際の月より 1 少ないことに注意してください。出力される実際の月は 1 増やす必要があります) ) #getDate()

現在の日付を出力 getDay()

現在の曜日を出力します (月曜から日曜までの対応する数字: 1 2 3 4 5 6 0)

var Date=new Date();

 console.log(Date.getFullYear());  //输出当前年份

 console.log(Date.getMonth() + 1);  //输出结果为当前月份的前一月,要手动加1才能返回当前月份

 console.log(Date.getDate());  //输出当前几号

 console.log(Date.getDay());  //输出当前周几
ログイン後にコピー
## 出力効果を にしたい場合2021 年 1 月 18 日火曜日

、次の

を実行できます (曜日は 1 つの数値しか返せないためですが、慣例によれば、返したいのは「曜日」です「week」なので、返された数値をインデックスとして扱い、日曜日から土曜日までを配列に入れます。日曜日は 0 を返すため、日曜日を配列に入れます。0 インデックスに対応する位置)

var arr=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];

var Date=new Date();

var year=Date.getFullYear(); 

var month=Date.getMonth() + 1; 

var date=Date.getDate();

var day=Date.getDay();  

 console.log(year + '年' + month + '月' + date + '日' + arr[day]);
ログイン後にコピー

#4: 時、分、秒の書式設定

## は、上記の書式設定された年、月、日と同じです。使用方法は ## と似ています。

#getHours()

現在の時間を出力します getMinutes()

現在の分を出力します

getSeconds()    输出当前秒

var Date=new Date();  

console.log(Date.getHours());  //输出当前小时

console.log(Date.getMinutes());  //输出当前分钟

console.log(Date.getSeconds());  //输出当前秒
ログイン後にコピー

 

 输出连续格式时分秒:

将其封装在了函数内,并利用三元运算符将不足10的数字补0,符合平常看时间的习惯

function time()

{

var time=new Date();

var h=time.getHours();

h = h<10 ? '0'+h : h;

var m=time.getMinutes();

m = m<10 ? '0'+m : m;

var s=time.getSeconds();

s = s<10 ? '0'+s : s;

return h+'时'+m+'分'+s+'秒';

}

console.log(time());
ログイン後にコピー

五:获取当前时间总毫秒数(时间戳)

这里所说的总毫秒数是指当前时间距离1970年1月1日的总毫秒数,共有四种方法可以表示

valueOf()

getTime()

var date=new Date();

console.log(date.valueOf());   

console.log(date.getTime());
ログイン後にコピー

 或者使用另外一种简便写法 var date=+new Date();返回的就是总毫秒数

var date=+new Date();

console.log(date);
ログイン後にコピー

 以及H5新增加的一种方法,这个方法不需要实例化对象即可获得,更为简便

console.log(Date.now());
ログイン後にコピー

六:倒计时案例(重点)

在日常开发中很多地方都会用的到倒计时,例如淘宝,京东的双十一秒杀倒计时等,我们如何也写出一个倒计时效果呢,我们首先会想到刚才学到的获取当前时间,再减去我们设置好的时间即可,但是我们获取到的标准时间很可能会出现减去之后是负数的情况(例如02-12)这怎么办呢?于是我们的时间戳便有利用价值了,时间戳即刚才讲到过的总毫秒数,这个时间是永远不会重复的,对此我们可以使用设置好的总毫秒数减去当前的总毫秒数,在进行一系列单位换算,就可以得到一个简单的倒计时案例了,首先我们需要熟练记清楚单位换算之间的关系:

1秒=1000毫秒

天数=秒数/60/60/24

小时数=秒数/60/60%24

分钟数=秒数/60%60

秒数=秒数%60

对于无法整除的秒数,我们利用 parseInt() 方法取整即可,有了这样一个换算关系,我们就可以轻松地完成这个倒计时案例了

function count(time)

{

    var nowtime=+new Date(); //得到当前时间

    var aimtime=+new Date(time);  //得到目标时间(结束时间)

    var times=(aimtime-nowtime)/1000;  //得到倒计时时间差(毫秒) 除1000得到秒

    var d=parseInt(times/60/60/24)  //得到倒计时天数

    d=d<10?'0'+d:d;  //将不足10的时间补0

    var h=parseInt(times/60/60%24)  //得到倒计时小时数

    h=h<10?'0'+h:h;  //将不足10的时间补0

    var m=parseInt(times/60%60)  //得到倒计时分钟数

    m=m<10?'0'+m:m;  //将不足10的时间补0

    var s=parseInt(times%60)  //得到倒计时秒数

    s=s<10?'0'+s:s;  //将不足10的时间补0

    return d + '天' + h + '时' + m + '分' + s +'秒';  //返回倒计时

}

alert('倒计时还剩下' + count('2022-1-18 16:30:00'));  //调用并输入目标的结束时间
ログイン後にコピー

【相关推荐:javascript视频教程web前端

以上がJavaScript の Date オブジェクトを完全にマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート