摘要:因此,思路是,先將字符串日期轉換成時間對象,再利用的方法進行時間的加減,改變后,我們再將對象轉換成字符串日期即可。
時間戳是什么
時間戳是指自1970年1月1日00:00:00 (世界標準時間) 起經過的毫秒數。
目前大部分情況下為13位,但有的時候服務器會省略存儲10位,即存儲的是秒數,因為日常使用不需要那么精確到秒。
Date這里先不贅述,可自行閱讀文檔。
我們現在只需要知道,向Date里傳入時間戳,我們會得到一個時間對象
var time = new Date(1453094034000);
這個時間對象依舊不是我們想要的時間格式,就需要我們自行對其進行轉換。
因此我們可以使用Date 的方法去獲取我們想要的年月日時分秒的數據,來自行組裝成我們想要的時間格式。
時間戳轉換為日期ok,我們現在嘗試將服務器接收的1453094034000轉換為2016-1-18 13:13:54。
明顯看出我們需要從時間對象中獲取年,月,日,時,分,秒。分別對應Date的以下方法。
date.getFullYear(); date.getMonth(); date.getDate(); date.getHours(); date.getMinutes(); date.getSeconds();
因此,代碼如下
var date = new Date(timestamp);//時間戳為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() + " "; var h = date.getHours() + ":"; var m = date.getMinutes() + ":"; var s = date.getSeconds(); return Y+M+D+h+m+s;日期轉換為時間戳
Date對象給我們提供了一些方法讓我們直接將日期轉換為時間對象,然后轉為時間戳。就不需要我們自己手動去計算日期到底距離那個標準時間多少秒了。
不過,首先需要明白的是,Date目前只識別以下幾種類型的字符串或者數字的時間表達方式。我們在上一節所轉化的字符串2016-1-18 13:13:54是可以識別的
方法如下
var t = new Date("2016-1-18 13:13:54"); return t.getTime();字符串日期的加減
這里擴展一下經常遇到的情況,即日期的加減。
當然Date也有日期的增減方法方法。
因此,思路是,先將字符串日期轉換成時間對象,再利用Date的方法進行時間的加減,改變后,我們再將對象轉換成字符串日期即可。
字符串日期轉換為時間對象注意,在時間對象的月份存儲中,是以0-11來對應1-12月的,因此,需要注意轉換
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]));時間對象變動后再轉為字符串
var num = 10; date.setMonth(date.getMonth() + num); console.log(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103371.html
摘要:中國標準時間將轉換后的標準日期轉換為時間戳。中國標準時間中國標準時間中國標準時間不設定時分秒,則默認轉換為一般情況下可以轉換以等分隔的日期形式,但是在中會出現不兼容的問題將所有的轉為即可 分類一:將日期轉換為時間戳 要將日期轉換為時間戳,首先得先獲取到日期,這里可以直接指定日期,或者是使用當前日期。要獲取當前日期,我們可以使用new Date()來獲取: (1)、將當前日期轉換為時間戳...
摘要:使用中的對象已經很久了但是一直以來都沒有將常用的封裝函數和遇到的坑記錄下來趁著今天有空就記錄下來方便自己下次直接使用并提醒自己遇到過那些坑。利用設置日期時從設置當設置為時即上個月的最后一天參考 使用JS中的Date對象已經很久了,但是一直以來都沒有將常用的封裝函數和遇到的坑記錄下來,趁著今天有空,就記錄下來,方便自己下次直接使用,并提醒自己遇到過那些坑。如果有哪些地方不對,希望大家能夠...
摘要:微信公眾號后端進階,專注后端技術分享框架分布式中間件服務治理等等。 微信公眾號「后端進階」,專注后端技術分享:Java、Golang、WEB框架、分布式中間件、服務治理等等。 老司機傾囊相授,帶你一路進階,來不及解釋了快上車! 我發現數據庫有些日期居然用字符串保存?于是跟幾個小伙伴討論了關于數據庫的日期應該要怎么保存的問題,其實我一直都建議直接用數值保存時間戳,為什么我要這么建議呢?...
摘要:一步步的排查,最終鎖定問題是由于函數返回了一個值,導致數據插入數據庫失敗。漏洞導致上述問題的根本原因就是漏洞,也被稱為。超過這個時間后,整型數值將會溢出。或者使用函數將一個大于時間戳轉換為日期。解決方案方案一更換系統和均為位。 最近在寫一個項目接口。測試中發現服務器上測試正常的功能,在本地一直有問題。一步步的排查,最終鎖定問題是由于函數strtotime返回了一個false值,導致數據...
閱讀 1552·2021-09-22 15:52
閱讀 3459·2021-09-22 14:59
閱讀 2843·2021-09-02 15:12
閱讀 971·2021-08-20 09:35
閱讀 1578·2019-08-30 14:09
閱讀 2709·2019-08-30 13:56
閱讀 1646·2019-08-26 18:27
閱讀 3363·2019-08-26 13:37