Js 各種時刻変換問題 (YYYY-MM-DD タイムスタンプ 中国標準時)

1. タイプの概要

  1. YYYY-MM-DD HH:MM:SS の形式で指定します
  2. タイムスタンプ
  3. China Standard Time Sat Jan 30 2022 08:26:26 GMT+0800 (中国標準時)new Date()システムの現在の時刻を取得するには、次の形式になります。

2. タイプ間の変換

  1. yyyy-mm-dd または yyyy-MM-dd HH-mm-ss に変換されたタイムスタンプ
function timestampToTime(timestamp) {
    
    
        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear() + '-';
        var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1):date.getMonth()+1) + '-';
        var D = (date.getDate()< 10 ? '0'+date.getDate():date.getDate())+ ' ';
        var h = (date.getHours() < 10 ? '0'+date.getHours():date.getHours())+ ':';
        var m = (date.getMinutes() < 10 ? '0'+date.getMinutes():date.getMinutes()) + ':';
        var s = date.getSeconds() < 10 ? '0'+date.getSeconds():date.getSeconds();
        return Y+M+D+h+m+s;
    }
  1. yyyy-mm-dd または yyyy-MM-dd HH-mm-ss からタイムスタンプへ
var stringTime = '2012-10-12 22:37:33';
//将获取到的时间转换成时间戳
var timestamp = Date.parse(new Date(stringTime));
  1. 中国標準時 から yyyy-mm-dd hh-mm-ss
 let y = date.getFullYear()
 let m = date.getMonth() + 1
 m = m < 10 ? ('0' + m) : m
 let d = date.getDate()
 d = d < 10 ? ('0' + d) : d
 let h =date.getHours()
 h = h < 10 ? ('0' + h) : h
 let M =date.getMinutes()
 M = M < 10 ? ('0' + M) : M
 let s =date.getSeconds()
 s = s < 10 ? ('0' + s) : s
 let dateTime= y + '-' + m + '-' + d + ' ' + h + ':' + M + ':' + s;
  1. yyyy-mm-dd hh-mm-ss から中国標準時
    1. new Date("月 dd,yyyy hh:mm:ss");
    2. new Date("月 dd,yyyy");
    3. new Date ( yyyy,mth,dd,hh,mm,ss); 注: この方法では整数を渡す必要があります;
    4. new Date(yyyy,mth,dd);
    5. new Date(ms); 注: ms:作成時刻と GMT 時刻 1970 年 1 月 1 日との間のミリ秒数; 現在時刻と GMT1970.1.1 との間のミリ秒数: var mills = new Date().getTime();

  2. 中国標準時に変換されたタイムスタンプ

const time = 1531065600000//时间戳(数字)
const youData = new Data(time);
  1. 中国標準時をタイムスタンプに変換
Date.parse(Time)

3.日付型

日付オブジェクトを作成 let now = new Date();
ここに画像の説明を挿入

Date コンストラクターにパラメーターが渡されない場合、作成されたオブジェクトは現在の日付と時刻を保持します。他の日付と時刻に基づいて日付オブジェクトを作成するには、ミリ秒表現で渡す必要があります。

タイプ: Date.parse() && Date.UTC() && Date.now() && Date.toLocaleString() && Date.toString()

Date.parse()
でサポートされているパラメータ タイプ:
1) 月/日/年 例: '1/18/2023'
ここに画像の説明を挿入
2) 月名 日、年 例: 'May 23, 2019'
ここに画像の説明を挿入
3) 週 月名 日 年 時間 :分: 秒 タイムゾーン 例: 'Wed Jan 18 2023 16:21:53 GMT+0800'
ここに画像の説明を挿入
4) YYYY-MM-DDTHH:mm:ss.sssZ 例: 2019-05-23T00:00:00
ここに画像の説明を挿入
パラメータが渡された場合日付を表さず、NaN を返します

使用法:

ここに画像の説明を挿入
Date.UTC()
2000 年 1 月 1 日 0:00、2005 年
ここに画像の説明を挿入
5 月 5 日午後 5:55:55 (月は 0 から始まることに注意してください)
ここに画像の説明を挿入

Date.now()現在時刻
ここに画像の説明を挿入

Date.toLocaleString() && Date.toString()

ここに画像の説明を挿入

4. 日付のフォーマット

toDateString()
ここに画像の説明を挿入

toTimeString()
ここに画像の説明を挿入

toLocaleDateString()
ここに画像の説明を挿入

toLocaleTimeString()
ここに画像の説明を挿入

toUTCString()
ここに画像の説明を挿入

5. 時間帯かどうかの判断方法

if (new Date(str).toDateString() === new Date().toDateString()) {
    
    
    //今天
    console.log("当天");
} else if (new Date(str) < new Date()){
    
    
    //之前
    console.log(new Date(str).toISOString().slice(0,10));
}

おすすめ

転載: blog.csdn.net/qq_41867900/article/details/126610559