成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Date日期轉(zhuǎn)換

djfml / 3505人閱讀

摘要:傳入的格式要求詳見日期格式打印結(jié)果作為構(gòu)造函數(shù)作為構(gòu)造函數(shù)可以通過指針實(shí)例化一個(gè)的實(shí)例對(duì)象,這個(gè)對(duì)象是一個(gè)日期對(duì)象。所有實(shí)例的屬性和方法即是繼承于構(gòu)造函數(shù)原型上的屬性和方法。

前言
之前寫博客都是在github的搭建的個(gè)人博客上,最近開始遷移博客上的內(nèi)容到segmentfalut。一方面是想重新整理下寫過的博客。另一方面也是想與大家多多交流,找到現(xiàn)階段自己的不足。第一篇文章是關(guān)于Date對(duì)象,這篇博客是關(guān)于Date對(duì)象的一些定義和一些常用方法的使用。
Date對(duì)象 1. 作為Date對(duì)象 1-1 用法

作為普通對(duì)象可以直接作為函數(shù)調(diào)用,返回當(dāng)前標(biāo)準(zhǔn)時(shí)間格式的字符串。

傳參和不傳參返回結(jié)果一致。

Date();
//打印結(jié)果
"Wed Dec 05 2018 19:43:52 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)" 

1-2 Date對(duì)象方法

Date.now()

返回當(dāng)前時(shí)間的時(shí)間戳,不接受傳參。
Date.now();
//打印結(jié)果
1544063816980

Date.parse()

傳入解析日期字符串返回時(shí)間戳,如果解析失敗,返回NaN。(傳入的格式要求詳見parse日期格式)
Date.parse("2018-09-09 01:02:03");
//打印結(jié)果
1536426123000

2. 作為Date()構(gòu)造函數(shù)
1.作為構(gòu)造函數(shù)可以通過new指針實(shí)例化一個(gè)Date的實(shí)例對(duì)象,這個(gè)對(duì)象是一個(gè)日期對(duì)象。
2.注意:new Date()接受傳參,傳參格式與上文提到的parse()方法傳參格式一致,但返回的數(shù)據(jù)時(shí)標(biāo)準(zhǔn)時(shí)間格式對(duì)象。
let date = new Date();
// Thu Dec 06 2018 09:29:58 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
2-1 實(shí)例方法

從上圖可以看出所有的Date實(shí)例都繼承自Date.prototype。所有實(shí)例的屬性和方法即是繼承于Date構(gòu)造函數(shù)原型上的屬性和方法。這些方法大致分為Getter,Setter,Conversion getter幾類。我主要是對(duì)Getter類的幾種方法進(jìn)行分析。更多Date的原型方法可見Date對(duì)象實(shí)例方法
方法 描述
getDate() 返回一個(gè)月中的某一天(1 ~ 31)
getDay() 返回一周中的某一天(0 ~ 6),星期日為0,星期一為1
getMonth() 返回月份(0 ~ 11)
getFullYear() 以四位數(shù)字返回年份
getHours() 返回小時(shí)(0 ~ 23)
getMinutes() 返回分鐘(0 ~ 59)
getSeconds() 返回秒數(shù)(0 ~ 59)
getTime() 返回時(shí)間戳
通過上面表格的方法,我們可以對(duì)頁面上的日期進(jìn)行轉(zhuǎn)換來與后臺(tái)進(jìn)行交互。
2-2 日期轉(zhuǎn)換方法
指定時(shí)間戳轉(zhuǎn)化成日期或者時(shí)間,可指定分割符和轉(zhuǎn)換類型。
function unixStandardDate(dates = Date.now(), separatorStr = "-", unixType = "date") {
    //把時(shí)間戳轉(zhuǎn)化成Date對(duì)象
    let date = new Date(dates);
    //獲取年月日
    let year = date.getFullYear();
    let month = date.getMonth() + 1;
    month = month < 10 ? ("0" + month) : month;
    let day = date.getDate();
    day = day < 10 ? ("0" + day) : day;
    //返回的年月日
    let resultDate = year + separatorStr + month + separatorStr + day;
    //獲取時(shí)間
    let hours = date.getHours();
    hours = hours < 10 ? ("0" + hours) : hours;
    let minutes = date.getMinutes();
    minutes = minutes < 10 ? ("0" + minutes) : minutes;
    let seconds = date.getSeconds();
    seconds = seconds < 10 ? ("0" + seconds) : seconds;
    let resultTime = hours + ":" + minutes + ":" + seconds
    //判斷是轉(zhuǎn)換日期還是轉(zhuǎn)換時(shí)間
    if (unixType === "date") {
        return resultDate;
    } else if (unixType === "time") {
        return resultDate + " " + resultTime;
    }
}
console.log(unixStandardDate(undefined, "/", "time"));
//后臺(tái)返回的時(shí)間戳處理
console.log(unixStandardDate(1543622400000));

//打印結(jié)果
"2018/12/06 09:58:12"
"2018-12-01"
指定日期或者時(shí)間,轉(zhuǎn)化成時(shí)間戳。
指定連接符替換只是為了方便不同格式的處理。
function unixTimeStamp(date, separatorStr) {
  let newDate = date.replace(eval("/"+ separatorStr +"/g"), "/");
  let resultDate = new Date(newDate);
  let timeStamp = resultDate.getTime();
  return timeStamp;
}
console.log(unixTimeStamp("2019-09-07 00:00:00", "-"));
// 打印結(jié)果
1567785600000
返回當(dāng)前月份的上一個(gè)月
function getPreMonth(date, separatorStr = "-") {
    let year = date.split(separatorStr)[0];
    let month = date.split(separatorStr)[1];
    //設(shè)置變量獲取前一個(gè)月
    let resultYear = year;
    let resultMonth = parseInt(month) - 1;
    //判斷是否為1月份,返回上一年
    if (resultMonth === 0) {
        resultYear = parseInt(resultYear) - 1;
        resultMonth = 12;
    }
    //判斷新的月份是否小于10
    if (resultMonth < 10) {
        resultMonth = "0" + resultMonth;//月份填補(bǔ)成2位。
    }
    return resultYear + separatorStr  + resultMonth;
}
console.log(getPreMonth("2016-09", "-"));
//打印結(jié)果
"2016-08"
小結(jié)
寫本篇文章的主要目的只是為了更好的處理時(shí)間戳和日期格式在前后端交互工程中遇到的問題,關(guān)于更多的Date詳情,請(qǐng)移步JavaScript Date 對(duì)象

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/99773.html

相關(guān)文章

  • 日期時(shí)間的轉(zhuǎn)換

    摘要:因此,思路是,先將字符串日期轉(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)過的毫秒數(shù)。目前大部分情況下為13位,但有的時(shí)候服務(wù)器會(huì)省略存儲(chǔ)10位,即存儲(chǔ)的是秒數(shù),因?yàn)槿粘J褂貌恍枰敲淳_到秒。 關(guān)于Date函數(shù) Date這里先不贅述,可自行閱讀文檔。 我們現(xiàn)在...

    everfly 評(píng)論0 收藏0
  • Date對(duì)象常用的封裝方法及遇到的坑

    摘要:使用中的對(duì)象已經(jīng)很久了但是一直以來都沒有將常用的封裝函數(shù)和遇到的坑記錄下來趁著今天有空就記錄下來方便自己下次直接使用并提醒自己遇到過那些坑。利用設(shè)置日期時(shí)從設(shè)置當(dāng)設(shè)置為時(shí)即上個(gè)月的最后一天參考 使用JS中的Date對(duì)象已經(jīng)很久了,但是一直以來都沒有將常用的封裝函數(shù)和遇到的坑記錄下來,趁著今天有空,就記錄下來,方便自己下次直接使用,并提醒自己遇到過那些坑。如果有哪些地方不對(duì),希望大家能夠...

    taowen 評(píng)論0 收藏0
  • 日期與時(shí)間戳之間的相互轉(zhuǎn)換

    摘要:中國標(biāo)準(zhǔn)時(shí)間將轉(zhuǎn)換后的標(biāo)準(zhǔn)日期轉(zhuǎn)換為時(shí)間戳。中國標(biāo)準(zhǔn)時(shí)間中國標(biāo)準(zhǔn)時(shí)間中國標(biāo)準(zhǔn)時(shí)間不設(shè)定時(shí)分秒,則默認(rèn)轉(zhuǎn)換為一般情況下可以轉(zhuǎn)換以等分隔的日期形式,但是在中會(huì)出現(xiàn)不兼容的問題將所有的轉(zhuǎn)為即可 分類一:將日期轉(zhuǎn)換為時(shí)間戳 要將日期轉(zhuǎn)換為時(shí)間戳,首先得先獲取到日期,這里可以直接指定日期,或者是使用當(dāng)前日期。要獲取當(dāng)前日期,我們可以使用new Date()來獲取: (1)、將當(dāng)前日期轉(zhuǎn)換為時(shí)間戳...

    monw3c 評(píng)論0 收藏0
  • 全面解析Java日期時(shí)間API

    摘要:類是一個(gè)抽象類,它為特定瞬間與一組諸如等日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段例如獲得下星期的日期提供了一些方法。是不變的日期時(shí)間對(duì)象代表一個(gè)日期時(shí)間,往往被視為年月日時(shí)分秒。獲得實(shí)例的日期和時(shí)間。 時(shí)區(qū) GMT(Greenwich Mean Time):格林尼治時(shí)間,格林尼治標(biāo)準(zhǔn)時(shí)間的正午是指當(dāng)太陽橫穿格林尼治子午線時(shí)(也就是在格林尼治上空最高點(diǎn)時(shí))的時(shí)間。 UTC(U...

    robin 評(píng)論0 收藏0
  • java常見類API第二部分

    摘要:類是日期時(shí)間格式化子類的抽象類,我們通過這個(gè)類可以幫我們完成日期和文本之間的轉(zhuǎn)換也就是可以在對(duì)象與對(duì)象之間進(jìn)行來回轉(zhuǎn)換。構(gòu)造方法由于為抽象類,不能直接使用,所以需要常用的子類。 day01【Object類、常用API】 主要內(nèi)容 Object類 Date類 DateFormat類 Calendar類 System類 StringBuilder類 包裝類 教學(xué)目標(biāo) -[ ] 能夠說出...

    maybe_009 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<