摘要:因此,思路是,先將字符串日期轉(zhuǎn)換成時(shí)間對(duì)象,再利用的方法進(jìn)行時(shí)間的加減,改變后,我們?cè)賹?duì)象轉(zhuǎn)換成字符串日期即可。
時(shí)間戳是什么
時(shí)間戳是指自1970年1月1日00:00:00 (世界標(biāo)準(zhǔn)時(shí)間) 起經(jīng)過(guò)的毫秒數(shù)。
目前大部分情況下為13位,但有的時(shí)候服務(wù)器會(huì)省略存儲(chǔ)10位,即存儲(chǔ)的是秒數(shù),因?yàn)槿粘J褂貌恍枰敲淳_到秒。
Date這里先不贅述,可自行閱讀文檔。
我們現(xiàn)在只需要知道,向Date里傳入時(shí)間戳,我們會(huì)得到一個(gè)時(shí)間對(duì)象
var time = new Date(1453094034000);
這個(gè)時(shí)間對(duì)象依舊不是我們想要的時(shí)間格式,就需要我們自行對(duì)其進(jìn)行轉(zhuǎn)換。
因此我們可以使用Date 的方法去獲取我們想要的年月日時(shí)分秒的數(shù)據(jù),來(lái)自行組裝成我們想要的時(shí)間格式。
時(shí)間戳轉(zhuǎn)換為日期ok,我們現(xiàn)在嘗試將服務(wù)器接收的1453094034000轉(zhuǎn)換為2016-1-18 13:13:54。
明顯看出我們需要從時(shí)間對(duì)象中獲取年,月,日,時(shí),分,秒。分別對(duì)應(yīng)Date的以下方法。
date.getFullYear(); date.getMonth(); date.getDate(); date.getHours(); date.getMinutes(); date.getSeconds();
因此,代碼如下
var date = new Date(timestamp);//時(shí)間戳為10位需*1000,時(shí)間戳為13位的話不需乘1000 var Y = date.getFullYear() + "-"; var M = (date.getMonth()+1 < 10 ? "0"+(date.getMonth()+1) : date.getMonth()+1) + "-"; var D = date.getDate() + " "; var h = date.getHours() + ":"; var m = date.getMinutes() + ":"; var s = date.getSeconds(); return Y+M+D+h+m+s;日期轉(zhuǎn)換為時(shí)間戳
Date對(duì)象給我們提供了一些方法讓我們直接將日期轉(zhuǎn)換為時(shí)間對(duì)象,然后轉(zhuǎn)為時(shí)間戳。就不需要我們自己手動(dòng)去計(jì)算日期到底距離那個(gè)標(biāo)準(zhǔn)時(shí)間多少秒了。
不過(guò),首先需要明白的是,Date目前只識(shí)別以下幾種類型的字符串或者數(shù)字的時(shí)間表達(dá)方式。我們?cè)谏弦还?jié)所轉(zhuǎn)化的字符串2016-1-18 13:13:54是可以識(shí)別的
方法如下
var t = new Date("2016-1-18 13:13:54"); return t.getTime();字符串日期的加減
這里擴(kuò)展一下經(jīng)常遇到的情況,即日期的加減。
當(dāng)然Date也有日期的增減方法方法。
因此,思路是,先將字符串日期轉(zhuǎn)換成時(shí)間對(duì)象,再利用Date的方法進(jìn)行時(shí)間的加減,改變后,我們?cè)賹?duì)象轉(zhuǎn)換成字符串日期即可。
字符串日期轉(zhuǎn)換為時(shí)間對(duì)象注意,在時(shí)間對(duì)象的月份存儲(chǔ)中,是以0-11來(lái)對(duì)應(yīng)1-12月的,因此,需要注意轉(zhuǎn)換
var str = "2019-2-1"; // 初始日期 var date = new Date(); var initdate = str.split("-"); date.setFullYear(parseInt(initdate[0])); date.setMonth(parseInt(initdate[1]) - 1); date.setDate(parseInt(initdate[2]));時(shí)間對(duì)象變動(dòng)后再轉(zhuǎn)為字符串
var num = 10; date.setMonth(date.getMonth() + num); console.log(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/103371.html
摘要:中國(guó)標(biāo)準(zhǔn)時(shí)間將轉(zhuǎn)換后的標(biāo)準(zhǔn)日期轉(zhuǎn)換為時(shí)間戳。中國(guó)標(biāo)準(zhǔn)時(shí)間中國(guó)標(biāo)準(zhǔn)時(shí)間中國(guó)標(biāo)準(zhǔn)時(shí)間不設(shè)定時(shí)分秒,則默認(rèn)轉(zhuǎn)換為一般情況下可以轉(zhuǎn)換以等分隔的日期形式,但是在中會(huì)出現(xiàn)不兼容的問(wèn)題將所有的轉(zhuǎn)為即可 分類一:將日期轉(zhuǎn)換為時(shí)間戳 要將日期轉(zhuǎn)換為時(shí)間戳,首先得先獲取到日期,這里可以直接指定日期,或者是使用當(dāng)前日期。要獲取當(dāng)前日期,我們可以使用new Date()來(lái)獲?。?(1)、將當(dāng)前日期轉(zhuǎn)換為時(shí)間戳...
摘要:使用中的對(duì)象已經(jīng)很久了但是一直以來(lái)都沒(méi)有將常用的封裝函數(shù)和遇到的坑記錄下來(lái)趁著今天有空就記錄下來(lái)方便自己下次直接使用并提醒自己遇到過(guò)那些坑。利用設(shè)置日期時(shí)從設(shè)置當(dāng)設(shè)置為時(shí)即上個(gè)月的最后一天參考 使用JS中的Date對(duì)象已經(jīng)很久了,但是一直以來(lái)都沒(méi)有將常用的封裝函數(shù)和遇到的坑記錄下來(lái),趁著今天有空,就記錄下來(lái),方便自己下次直接使用,并提醒自己遇到過(guò)那些坑。如果有哪些地方不對(duì),希望大家能夠...
摘要:傳入的格式要求詳見(jiàn)日期格式打印結(jié)果作為構(gòu)造函數(shù)作為構(gòu)造函數(shù)可以通過(guò)指針實(shí)例化一個(gè)的實(shí)例對(duì)象,這個(gè)對(duì)象是一個(gè)日期對(duì)象。所有實(shí)例的屬性和方法即是繼承于構(gòu)造函數(shù)原型上的屬性和方法。 前言 之前寫(xiě)博客都是在github的搭建的個(gè)人博客上,最近開(kāi)始遷移博客上的內(nèi)容到segmentfalut。一方面是想重新整理下寫(xiě)過(guò)的博客。另一方面也是想與大家多多交流,找到現(xiàn)階段自己的不足。第一篇文章是關(guān)于Dat...
摘要:微信公眾號(hào)后端進(jìn)階,專注后端技術(shù)分享框架分布式中間件服務(wù)治理等等。 微信公眾號(hào)「后端進(jìn)階」,專注后端技術(shù)分享:Java、Golang、WEB框架、分布式中間件、服務(wù)治理等等。 老司機(jī)傾囊相授,帶你一路進(jìn)階,來(lái)不及解釋了快上車! 我發(fā)現(xiàn)數(shù)據(jù)庫(kù)有些日期居然用字符串保存?于是跟幾個(gè)小伙伴討論了關(guān)于數(shù)據(jù)庫(kù)的日期應(yīng)該要怎么保存的問(wèn)題,其實(shí)我一直都建議直接用數(shù)值保存時(shí)間戳,為什么我要這么建議呢?...
摘要:一步步的排查,最終鎖定問(wèn)題是由于函數(shù)返回了一個(gè)值,導(dǎo)致數(shù)據(jù)插入數(shù)據(jù)庫(kù)失敗。漏洞導(dǎo)致上述問(wèn)題的根本原因就是漏洞,也被稱為。超過(guò)這個(gè)時(shí)間后,整型數(shù)值將會(huì)溢出。或者使用函數(shù)將一個(gè)大于時(shí)間戳轉(zhuǎn)換為日期。解決方案方案一更換系統(tǒng)和均為位。 最近在寫(xiě)一個(gè)項(xiàng)目接口。測(cè)試中發(fā)現(xiàn)服務(wù)器上測(cè)試正常的功能,在本地一直有問(wèn)題。一步步的排查,最終鎖定問(wèn)題是由于函數(shù)strtotime返回了一個(gè)false值,導(dǎo)致數(shù)據(jù)...
閱讀 1629·2021-09-22 15:52
閱讀 3541·2021-09-22 14:59
閱讀 2972·2021-09-02 15:12
閱讀 1043·2021-08-20 09:35
閱讀 1629·2019-08-30 14:09
閱讀 2761·2019-08-30 13:56
閱讀 1729·2019-08-26 18:27
閱讀 3421·2019-08-26 13:37