前言
一個網站的開發須要要UI、前端、後端三種工程師。如今的企業在招聘前端工程師的時候通常都要求其瞭解或者掌握一些後端的知識。所以,此文章主要介紹javascript的日期類型,也粗略的介紹一下php的日期類型,以及兩者是如何交互數據的。javascript
時間戳
- 什麼是時間戳
時間戳是從格林威治時間1970年1月1日(00:00:00 GMT)至今的總秒數。它也被稱爲Unix時間戳。多數系統將時間戳以一個32位的整數來存儲。
- 爲何要使用時間戳
便於系統對不一樣格式的時間進行存儲
- 常見的時間戳有時候是10位的有時候是13位的到底有什麼區別
我所說的這個10位和13位固然表示的是同一個時間了,不一樣的時間位數不一樣很正常哦!1970年至今的時間通常是10位或者13位。在不一樣的語言中表示時間戳的單位是不同的,在JavaScript中表示時間戳的單位爲毫秒(ms)、在PHP中表示時間戳的單位是秒(s)。s和ms的轉換恰好是10的三次方,javascript中的時間戳(如今)通常用13位表示,PHP中的時間戳(如今)通常用10位表示。所以記得PHP的時間戳傳遞到JavaScript中使用的使用記得要*1000。
- 注意
客戶端與服務器日期進行傳輸的時候通常都是用大整數(時間戳)進行傳輸。倒計時或什麼的各類時間都是以服務器爲準,不能以客戶端的時間爲準。[由於否則客戶端隨意對本身的時間進行修改、這樣子就會致使活動提早什麼的嘍]
!客戶端的時區設置可能會致使時間結果的不一樣!
javascript中的日期類型
- Date對象簡介
Date對象用於對日期和時間進行存儲和計算
- 建立Date對象
//使用指定的年月日[時分秒]進行初始化
new Date(2017,8,17); //年月日
new Date(2017,8,17,19,20,20); //年月日時分秒
//注意:月份是從0~11,所以想設置爲9月,參數應該寫8
new Date('2017/9/17'); //把String轉換爲Date
//初始化爲系統時間
new Date();
new Date;
Date();
//初始化爲距離計算機元年指定毫秒數的時間
new Date(0);
new Date(3600*24) //距離計算機元年 3600*24s 一個小時3600s 一天24小時 3600*24恰好是一天
- 日期對象的API
單位:
FullYear 年 Month 月 Date 日 Day 星期 //年月日星期 無s結尾
Hours 小時 Minutes 分鐘 Seconds 秒 MilliSeconds 毫秒 //小時分鐘秒毫秒 有s結尾
API:
setFullYear()、getFullYear()、setMonth()、getMonth()、setDate()、getDate()、getDay()
setHours()、getHours()、setMinutes()、getMinutes()、setSeconds()、getSeconds()、setMilliSeconds()、getMilliSeconds()
注意:Day星期只有get方法沒有set方法 由於年月日肯定了以後星期已經肯定了
- 格式化API
toString() //當地標準時間的完整格式
toLocaleString() //當地時間簡化版格式
toLocaleDateString() //當地時間簡化版格式日期部分
toLocaleTimeString() //當地時間簡化版格式時間部分
toGMTString() //國際標準時間(0時區)
- 應用場景
一、倒計時...商城中的訂單已經下單多少天
//思路:兩任意日期能夠相加減
結束時間-開始時間=相差毫秒數
二、某職員工做三個月已知其入職時間計算其離職的時間
//思路:複製一個和入職時間相同的日期對象 對其進行修改
實現方法:
//已知入職時間爲date1
var date2 = new Date(date1); //date2爲離職時間
date2.setMonth(date2.getMonth()+3) //獲得其入職的月份對其+3 把+3後的月份設置爲離職的月份 修改date2完成
- 以上內容的思惟導圖
JavaScript日期類型與PHP日期類型的梳理
因爲對PHP的日期類型也只是略知一二並且時間問題在這裏就沒有詳講了
php

結語
以上的JavaScript日期類型和PHP日期類型都是本人在學習中遇到的一些問題和一些總結,若是你們以爲有哪裏說得很差的或者有問題的歡迎指出哈!一塊兒交流學習進步!此次我第一次在網上寫文章,歡迎多多指教喔,但願能和你們一塊兒進步,謝謝!前端