溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

js時間格式的轉(zhuǎn)換方法有哪些

發(fā)布時間:2023-04-28 15:20:41 來源:億速云 閱讀:130 作者:iii 欄目:開發(fā)技術(shù)

這篇“js時間格式的轉(zhuǎn)換方法有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“js時間格式的轉(zhuǎn)換方法有哪些”文章吧。

js 各種時間格式的轉(zhuǎn)換

時間格式示例
中國標(biāo)準(zhǔn)時間Fri Mar 18 2022 14:24:45 GMT+0800(中國標(biāo)準(zhǔn)時間)
部分可讀字符串Fri Mar 18 2022
格林威治時間Fri,18 Mar 2022 06:24:45 GMT
現(xiàn)在用的時間標(biāo)準(zhǔn)UTCFri Mar 18 2022 06:24:45 GMT
IOS標(biāo)準(zhǔn)時間(JSON時間格式)2022-03-18T06:24:45.061Z
常見時間格式2022-03-18 14:24:45

注意:UTC時間不等于GMT時間

GMT:Greenwich Mean Time
格林尼治標(biāo)準(zhǔn)時間。這是以英國格林尼治天文臺觀測結(jié)果得出的時間,這是英國格林尼治當(dāng)?shù)貢r間,這個地方的當(dāng)?shù)貢r間過去被當(dāng)成世界標(biāo)準(zhǔn)的時間。

UT:Universal Time 世界時。根據(jù)原子鐘計算出來的時間。

UTC:Coordinated Universal Time
協(xié)調(diào)世界時。因為地球自轉(zhuǎn)越來越慢,每年都會比前一年多出零點幾秒,每隔幾年協(xié)調(diào)世界時組織都會給世界時+1秒,讓基于原子鐘的世界時和基于天文學(xué)(人類感知)的格林尼治標(biāo)準(zhǔn)時間相差不至于太大。并將得到的時間稱為UTC,這是現(xiàn)在使用的世界標(biāo)準(zhǔn)時間。

協(xié)調(diào)世界時不與任何地區(qū)位置相關(guān),也不代表此刻某地的時間,所以在說明某地時間時要加上時區(qū)

也就是說GMT并不等于UTC

獲取時間

var newDate = new Date();
			
			console.log('newDate',newDate)
			
			//Fri Mar 18 2022 14:24:45 GMT+0800(中國標(biāo)準(zhǔn)時間)
			
			1.把 Date 對象的日期部分轉(zhuǎn)換為可讀字符串:
			
			console.log('toDateString',newDate.toDateString());
			
			// Fri Mar 18 2022
			
			2.根據(jù)格林威治時間 (GMT) 把 Date 對象轉(zhuǎn)換為字符串(需注意的是)
			
			console.log('toGMTString',newDate.toGMTString());
			
			// Fri,18 Mar 2022 06:24:45 GMT
			
			不建議使用,因為此日期會在轉(zhuǎn)換為字符串之前由本地時區(qū)轉(zhuǎn)換為 GMT 時區(qū)。
			
			例如:傳入具體時間
			
			var localDate=new Date('July 21, 1983 01:15:00')
			
			console.log(localDate.toGMTString())
			
			// Wed, 20 Jul 1983 17:15:00 GMT
			
			輸出的時間會和傳入的時間有時差
			
			3.使用 ISO 標(biāo)準(zhǔn)返回 Date 對象的字符串格式:
			
			console.log('toISOString',newDate.toISOString());
			
			// 2022-03-18T06:24:45.061Z
			
			
			4.將 Date 對象轉(zhuǎn)換為字符串,并格式化為 JSON 數(shù)據(jù)格式。
			
			console.log('toJSON',newDate.toJSON());
			
			// 2022-03-18T06:24:45.061Z
			
			5.根據(jù)本地時間把 Date 對象的日期部分轉(zhuǎn)換為字符串:
			
			console.log('toLocaleDateString',newDate.toLocaleDateString());
			
			// 2022/3/18
			
			6.根據(jù)本地時間把 Date 對象轉(zhuǎn)換為字符串:
			
			console.log('toLocaleString',newDate.toLocaleString());
			
			// 2022/3/18 下午2:24:45
			
			7.根據(jù)本地時間把 Date 對象的時間部分轉(zhuǎn)換為字符串:
			
			console.log('toLocaleTimeString',newDate.toLocaleTimeString());
			
			// 下午2:24:45
			
			8. Date 對象轉(zhuǎn)換為字符串。
			
			console.log('toString',newDate.toString());
			
			// Fri Mar 18 2022 14:24:45 GMT+0800(中國標(biāo)準(zhǔn)時間)
			
			9.把 Date 對象的時間部分轉(zhuǎn)換為字符串:
			
			console.log('toTimeString',newDate.toTimeString());
			
			// 14:24:45 GMT+0800(中國標(biāo)準(zhǔn)時間)
			
			10.根據(jù)世界時 (UTC) 把 Date 對象轉(zhuǎn)換為字符串:
			
			console.log('toUTCString',newDate.toUTCString());
			
			//  Fri Mar 18 2022 06:24:45 GMT

日期轉(zhuǎn)時間戳

var date = new Date(); // 當(dāng)前時間
console.log('date',date)

三種方法:
var time1 = date.getTime();
var time2 = date.valueOf();
var time3 = Date.parse(date);

console.log('time1',time1)
console.log('time2',time2)
console.log('time3',time3)

js時間格式的轉(zhuǎn)換方法有哪些

注意:如果是用JSON格式的時間去轉(zhuǎn)換時間戳的話,獲取的時間有相差

        var date =new Date('2022-03-16T16:00:00.000Z'); // 當(dāng)前時間
		console.log('date',date)
		var time1 = date.getTime();
		var time2 = date.valueOf();
		var time3 = Date.parse(date);
		console.log('time1',time1)
		console.log('time2',time2)
		console.log('time3',time3)

js時間格式的轉(zhuǎn)換方法有哪些

時間戳轉(zhuǎn)日期

function add0(m){return m<10?'0'+m:m }
function format(shijianchuo)
{
//shijianchuo是整數(shù),否則要parseInt轉(zhuǎn)換
var time = new Date(shijianchuo); //時間戳為10位需*1000,時間戳為13位的話不需乘1000
var y = time.getFullYear();
var m = time.getMonth()+1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
}

但是如果是&lsquo;2022-03-16T16:00:00.000Z&rsquo;這種時間格式的話,上面那種方式獲取的時間有誤

可以試試這種方法

  var time = '2022-03-16T16:00:00.000Z'
      time = time.replace(/-/, '年')
      time = time.replace(/-/, '月')
      time = time.replace(/T/, '日')
      let times = time.split('.')
      console.log(times[0])
      //2022年03月16日16:00:00

如果是vue2的項目的話,你可以封裝一個過濾器

// 封裝項目中需要使用到的過濾器
import moment from 'moment'
// 1.時間日期過濾器
// 參數(shù)說明:不管是否傳遞了參數(shù),都會有一個默認(rèn)參數(shù),就是管道符前面的數(shù)據(jù)
// 意味著用戶參數(shù)從參數(shù)列表的第二個開始
export const dateFormat = (data, spe = '-') => {
  return moment(data).format('YYYY-MM-DD HH:mm:ss')
}
引入
import { dateFormat } from '@/utils/myfilters.js'
定義
filters: {
    dateFormat
  },
使用
<div class="time">{{currentUser.date | dateFormat}}</div>

附:如何判斷是否為當(dāng)天時間

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

以上就是關(guān)于“js時間格式的轉(zhuǎn)換方法有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI