導航:首頁 > 編程語言 > js數字時間格式轉換

js數字時間格式轉換

發布時間:2025-01-18 05:13:39

1. javascript秒轉換日時分秒格式

function formatDate(){
var milliseconds=2698169*1000;//秒變微秒
var dat = new Date(milliseconds);//生成日期
var year = dat.getFullYear();//取得年
var month = dat.getMonth()+1; //取得月,js從0開始取,所以+1
var date1 = dat.getDate(); //取得天
var hour = dat.getHours();//取得小時
var minutes = dat.getMinutes();//取得分鍾
var second = dat.getSeconds();//取得秒
alert(dat+" | "+year+"年"+month+"月"+date1+"日"+hour+"時"+minutes +"分"+second+"秒" );
}

2. JS日期格式的轉換

<script>
var myDate = new Date(1314005630000+0800);
document.write(myDate);
</script>

3. 前端JS如何將UTC世界時間格式轉換為本地時間格式

背景

在前後端數據介面通信中,後台返回的時間往往是UTC格式的,即2020-10-12T10:31:35.891724+00:00這種,這可能是因為在資料庫中存儲時間格式選擇的是TIMESTAMP。

作為前端,我們需要將其轉換為標準的本地格式,並用「YYYY-MM-DDHH:mm:ss」這種格式呈現給用戶,用戶才能看得懂。

那麼通常情況下,怎麼將他們進行轉換呢?

探究

先來理解下UTC時間和本地時間

以北京為例,我在寫這篇博客的時候,時間是:

vard=newDate()d.toLocaleTimeString()//"上午10:46:42"

而此時的UTC時間為:

d.toUTCString()//"Tue,13Oct202002:46:42GMT"

也就是說,我所在的北京(東八區)時間為上午的10點,而此時的UTC時間(世界時間)為凌晨2點,所以東八區相比於utc時間,提前了8個小時。

可能有的小夥伴迷糊了,為什麼是提前了8個小時?

這就牽扯到了全球時區的劃分,眾所周知:

??全球共24個時區,每個相鄰時區的跨度為一小時。

??時區的劃分,以零時區為基準,向東則加,向西則減,簡稱東加西減。

時區

由於地球的自轉,造成了我們看到的太陽是東升西落的,對於一個很大的地域而言,東邊總是比西邊先看到太陽。

比如對於中國而言,下午6點,北京就已經是傍晚了,而新疆地區的傍晚,可能在下午7點以後。如果以北京為例,太陽到達近地點的時間是中午12點,而新疆呢,太陽到達近地點可能在13點(數據不很精確)。

而在世界范圍呢,每個地區,都把太陽到達近地點的時間看作是一天中的中午12點,這就導致全球從東向西,全球24個時區會依次度過自己時區的12點

為了讓各地時間統一起來,方便交流,就把全球劃分為24個時區(因為地球自轉一周是24個小時),從零時區開始,東加西減,用一個時間格式來表示,這就是UTC(世界時間)

那麼,對於一個後台返回的標准時間(以2020-10-12T10:31:35.891724+00:00為例)來說,最後面的+00:00則告訴了你當前時間是以哪個時區來計算的(+00:00代表了零時區)。

比如,將2020-10-12T10:31:35.891724+00:00轉換成東八區時間也即北京時間:

newDate('2020-10-12T10:31:35.891724+00:00')//MonOct12202018:31:35GMT+0800(中國標准時間)

可以看到後面有+0800,意味著這是東八區的本地時間,即世界時間向東跨越了八個時區(加了8個小時)就是你看到的北京本地時間。

轉換

上面講的其實沒什麼用,只是幫助大家理解一些基礎的概念。

想要將復雜的UTC轉成需要的格式,最好當然是尋找插件來幫忙了。

1、moment

不會吧?不會吧?大名鼎鼎的moment不會真的有人不知道吧?

importmomentform'moment'vartime='2020-10-12T10:31:35.891724+00:00'moment(newDate(time)).format('YYYY-MM-DDHH:mm:ss')//"2020-10-1218:31:35"

moment還有個專門的時區處理類庫,點我直達

用了這個類庫,也能正確處理時區之間的轉換哦

首先安裝這個庫npminstallmoment-timezone,然後就可以愉快的寫代碼

varmoment=require('moment-timezone');vartz='Asia/Choibalsan'//時區vartime='2020-10-12T10:31:35.891724+00:00'moment.utc(time).tz(tz).format()//"2020-10-12T18:31:35+08:00"moment.utc(time).tz(tz).format('YYYY-MM-DDHH:mm:ss')//"2020-10-1218:31:35"

當然這里還需要注意一下,如果你傳遞的參數是hh:mm:ss而不是HH:mm:ss,那麼moment在處理上是有區別的,hh將會採用12小時制,HH則會採用24小時制。

moment.utc(time).tz(tz).format('YYYY-MM-DDhh:mm:ss')//"2020-10-1206:31:35"2、date-fns

看這名稱就能猜到,這又是一個處理時間的插件。而且,相比moment一點不虛呢,他是一個類似lodash的工具集,而且是專門針對各種日期的工具集。

而且相比於moment,這個插件相當的輕量。

import{format}from'date-fns'vartime='2020-10-12T10:31:35.891724+00:00'format(newDate(time),'YYYY-MM-DDHH:mm:ss')//"2020-10-1218:31:35"

其他更詳細的API大家自己看文檔吧,我就不過多的贅述了。

歡迎小夥伴們留言討論。

作者:晴天同學

4. js 獲取當前時間格式怎麼轉換

僅針對這個問題來說,不需要那麼大量的代碼即可完成

方案1(適用於中國標准時間):

vardate=newDate(+newDate()+8*3600*1000).toISOString().replace(/T/g,'').replace(/.[d]{3}Z/,'')

方案2(只用於題目中所述的格式轉換):

vardate=newDate().toLocaleString().replace(/[年月]/g,'-').replace(/[日上下午]/g,'');

方案3(最准確但最麻煩,不推薦):

vardate=newDate();
varresult=date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate()+''+date.getHours()+':'+date.getMinutes()+':'+date.getSeconds();

5. jsp 中怎樣把日期dd/mm/yyyy 轉換成 yyyy-mm-dd 格式

首先如果格式為dd/mm/yyyy的日期為date類型,那麼很easy,利用SimpleDateFormat類就可以,具體:
SimpleDateFormat sdt = new SimpleDateFormat();
sdt.setFormat("yyyy-MM-dd");//MM一定是大專寫,小寫代表分鍾
sdt.Format(date);//date就是屬你得到的那個dd/mm/yyyy的日期
想轉換回來就按上面說的把格式轉換回來就ok了
如果是String 類型的,那麼估計要費事了,你需要不停的用subString()方法把字元串截取拼接,這個應該是最簡單的方法了。
ps:代碼是我手寫的,有些可能拼寫有誤,見諒

閱讀全文

與js數字時間格式轉換相關的資料

熱點內容
qq飛車s車排行榜2017 瀏覽:671
揭示板網站怎麼看 瀏覽:202
ps文件轉換為ai文件嗎 瀏覽:695
蘋果升級到一半不動了 瀏覽:715
w7網路圖標怎麼設置 瀏覽:773
2016中國app應用創新峰會 瀏覽:680
用python寫聊天程序 瀏覽:818
安裝win10後是英文版 瀏覽:509
安卓支付寶停止運行怎麼辦 瀏覽:214
如何讓文件整理的好 瀏覽:58
電腦評標專家庫網站進不去怎麼辦 瀏覽:661
word怎麼刪除所有標點符號 瀏覽:423
86版本漫遊帶戰神套 瀏覽:477
GT編程軟體怎麼下載和上傳 瀏覽:356
泰坦之旅配置文件 瀏覽:606
文件櫃批發價格如何計算 瀏覽:118
在北京學java哪裡好 瀏覽:825
視頻文件夾怎麼起名 瀏覽:505
mac顯示文件夾 瀏覽:651
mac傳文件到linux 瀏覽:661

友情鏈接