最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序時(shí)間戳與日期格式的轉(zhuǎn)換方法

 更新時(shí)間:2025年04月24日 11:28:25   作者:雪芽藍(lán)域zzs  
這篇文章主要介紹了微信小程序時(shí)間戳與日期格式的轉(zhuǎn)換方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

1. 微信小程序 時(shí)間戳與日期格式的轉(zhuǎn)換

  微信小程序中的時(shí)間戳是指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù)。例如現(xiàn)在北京時(shí)間2015-12-31 17:00:00的時(shí)間戳是1451552400,就是指從北京時(shí)間1970-01-01 08:00:00到2015-12-31 17:00:00已經(jīng)過(guò)去了1451552400秒。
  在編程語(yǔ)言中使用時(shí)間戳的好處:
  (1)時(shí)間戳沒(méi)有時(shí)區(qū)概念,比如如果用’2015-12-31 17:00:00’這么一個(gè)字符串表示時(shí)間的話,北京時(shí)間和美國(guó)時(shí)間是不一樣的,但是用時(shí)間戳1451552400來(lái)表示的話,那就是一定是唯一的時(shí)間,不會(huì)有歧義;
  (2)時(shí)間戳在編程語(yǔ)言中一般是長(zhǎng)整形數(shù)據(jù)類(lèi)型,無(wú)論何種編程語(yǔ)言都能認(rèn)識(shí)時(shí)間戳,如果用字符串表示時(shí)間,還需要轉(zhuǎn)換。

1.1. 獲取昨天,今天,明天的xx-xx-xx格式的日期

  微信小程序picker 日期選擇中經(jīng)常要用到 年-月-日 格式的時(shí)間,寫(xiě)下來(lái)方便以后使用。

//時(shí)間的格式為 xxxx-xx-xx 即 年-月-日, 小程序picker中經(jīng)??梢杂玫?
//昨天的時(shí)間
var day1 = new Date();
day1.setTime(day1.getTime()-24*60*60*1000);
var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-" + day1.getDate();
//今天的時(shí)間
var day2 = new Date();
day2.setTime(day2.getTime());
var s2 = day2.getFullYear()+"-" + (day2.getMonth()+1) + "-" + day2.getDate();
//明天的時(shí)間
var day3 = new Date();
day3.setTime(day3.getTime()+24*60*60*1000);
var s3 = day3.getFullYear()+"-" + (day3.getMonth()+1) + "-" + day3.getDate();

1.2. 獲取前一天時(shí)間

  微信小程序獲取前一天時(shí)間。

 that.getDeadline("2025-04-16 17:35:15");
getDeadline: function (time) {
    var date1 = new Date(time + ":000");
    var timeStamp1 = date1.getTime();
    var date2 = new Date(timeStamp1);
    date2.setTime(date1.getTime() - 24 * 60 * 60 * 1000);
    var year = date2.getFullYear()
    var month = date2.getMonth() + 1
    if (month < 10) {
      month = "0" + month
    }
    var day = date2.getDate()
    if (day < 10) {
      day = "0" + day
    }
    var hour = date2.getHours()
    if (hour < 10) {
      hour = "0" + hour
    }
    var minite = date2.getMinutes();
    if (minite < 10) {
      minite = "0" + minite
    }
    var second = date2.getSeconds();
    if (second < 10) {
      second = "0" + second
    }
    var time2 = year + "-" + month + "-" + day + ' ' + hour + ":" + minite + ":" + second;
    return time2;
  },

1.3. 時(shí)間轉(zhuǎn)換為時(shí)間戳

  (1)方法一

   var date = new Date("2022-12-04 17:15:53:555");
    // 有三種方式獲取
    var time1 = date.getTime();
    var time2 = date.valueOf();
    var time3 = Date.parse(date);
    console.log(time1); //1670145353555
    console.log(time2); //1670145353555
    console.log(time3); //1670145353000

  (2)方法二

var time = '2020-04-01 00:00:00';
var repTime = time.replace(/-/g, '/');//用正則主要是把“2020-04-01 00:00:00'”轉(zhuǎn)換成“2020/04/01 00:00:00'”兼容ios
console.log("返回時(shí)間:" + repTime);
var timeTamp = Date.parse(repTime);
console.log("返回時(shí)間戳:" + timeTamp)

1.4. 訂單倒計(jì)時(shí)實(shí)現(xiàn)

1.4.1. 實(shí)現(xiàn)思路:

  求出發(fā)起拼團(tuán)時(shí)間與拼團(tuán)結(jié)束時(shí)間的時(shí)間差
  再將時(shí)間差格式化得到我們想要的格式如:
  時(shí)間每秒遞減使用了 setTimeout(this.setTimeCount,1000);這個(gè)函數(shù),讓這個(gè)函數(shù)每隔一秒執(zhí)行一次。

1.4.2. 實(shí)現(xiàn)中的難點(diǎn)

  若是要實(shí)現(xiàn)單個(gè)倒計(jì)時(shí)如60s發(fā)送驗(yàn)證碼倒不是很難,難的是多條倒計(jì)時(shí)。
  不同的訂單下單時(shí)間是不一樣的時(shí)間差time也就不一樣,所以當(dāng)初在這卡了很久,后來(lái)想通一切才覺(jué)得原來(lái)如此。

1.4.3. 實(shí)現(xiàn)方法

  后臺(tái)計(jì)算出時(shí)間前端直接獲取時(shí)間差,當(dāng)時(shí)為了不影響項(xiàng)目進(jìn)度我們用的就是這個(gè)方法,真是苦了那個(gè)些后臺(tái)的兄弟還得遷就我這個(gè)菜鳥(niǎo)。
獲取這個(gè)時(shí)間差time后我們就可以將它處理后放入數(shù)組循環(huán)。這樣做的好處是前端不用將time作為一個(gè)屬性添加到原數(shù)組中。

1.4.4. 示例代碼

  (1)timeCount.wxml

<view class="TimeSeond">{{timeSecond}}</view>

  (2)timeCount.js

Page({
  data: {
    timeSecond: '', //倒計(jì)時(shí)
  },
  onLoad() {
    this.timeCountdown();
  },
  timeCountdown() {
    var that = this
    var timeStampCur = new Date().getTime();
    //30分鐘前
    var timeStampBefore = timeStampCur - 30 * 60 * 1000;
    if (timeStampCur > timeStampBefore) {
      var timeStampInterval = timeStampCur - timeStampBefore
      var hours = parseInt((timeStampInterval % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
      var minutes = parseInt((timeStampInterval % (60 * 60 * 1000)) / (60 * 1000));
      var seconds = parseInt((timeStampInterval % (60 * 1000)) / 1000);
      var timeNum = setInterval(function () {
        timeStampInterval = timeStampInterval - 1000
        hours = parseInt((timeStampInterval % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000));
        minutes = parseInt((timeStampInterval % (60 * 60 * 1000)) / (60 * 1000));
        seconds = parseInt((timeStampInterval % (60 * 1000)) / 1000);
        if (timeStampInterval < 1) {
          that.setData({
            timeSecond: '00:00:00'
          })
          clearInterval(timeNum)
          return false
        }
        hours = hours > 9 ? hours : '0' + hours
        minutes = minutes > 9 ? minutes : '0' + minutes
        seconds = seconds > 9 ? seconds : '0' + seconds
        that.setData({
          timeSecond: hours + ':' + minutes + ':' + seconds
        })
      }, 1000)
    } else {
      that.setData({
        timeSecond: '00:00:00'
      })
    }
  },
})

到此這篇關(guān)于微信小程序時(shí)間戳與日期格式的轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)小程序時(shí)間戳與日期格式轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序表單驗(yàn)證WxValidate的使用

    微信小程序表單驗(yàn)證WxValidate的使用

    這篇文章主要介紹了微信小程序表單驗(yàn)證WxValidate的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 微信授權(quán)小程序的完整步驟實(shí)例

    微信授權(quán)小程序的完整步驟實(shí)例

    微信小程序是一種基于微信平臺(tái)的應(yīng)用程序,它可以在微信中直接使用,具有許多類(lèi)似于原生應(yīng)用的功能,微信小程序添加授權(quán)登錄和用戶(hù)權(quán)限功能,我們可以使用微信提供的開(kāi)放能力和API來(lái)實(shí)現(xiàn),這篇文章主要介紹了微信授權(quán)小程序的完整步驟,需要的朋友可以參考下
    2026-05-05
  • 教你javascript如何獲取對(duì)象的key和value

    教你javascript如何獲取對(duì)象的key和value

    獲取對(duì)象所有key的方法,需要使用?Object.keys(obj)?方法,Object.keys(obj)方返回一個(gè)數(shù)組,這個(gè)數(shù)組包含obj對(duì)象中的所有key,這篇文章主要介紹了javascript如何獲取對(duì)象的key和value,需要的朋友可以參考下
    2022-12-12
  • 使用js實(shí)現(xiàn)一個(gè)簡(jiǎn)單的滾動(dòng)條過(guò)程解析

    使用js實(shí)現(xiàn)一個(gè)簡(jiǎn)單的滾動(dòng)條過(guò)程解析

    這篇文章主要介紹了使用js實(shí)現(xiàn)一個(gè)簡(jiǎn)單的滾動(dòng)條過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 詳解JavaScript事件循環(huán)

    詳解JavaScript事件循環(huán)

    JavaScript事件循環(huán)是一種機(jī)制,用于處理異步事件和回調(diào)函數(shù)。它是JavaScript運(yùn)行時(shí)環(huán)境的一部分,負(fù)責(zé)管理事件隊(duì)列和調(diào)用棧。文章中有詳細(xì)的代碼示例,需要的朋友可以參考一下
    2023-04-04
  • 完美解決手機(jī)網(wǎng)頁(yè)中輸入框被輸入法遮擋的問(wèn)題

    完美解決手機(jī)網(wǎng)頁(yè)中輸入框被輸入法遮擋的問(wèn)題

    下面小編就為大家分享一篇完美解決手機(jī)網(wǎng)頁(yè)中輸入框被輸入法遮擋的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • JavaScript forEach的幾種用法小結(jié)

    JavaScript forEach的幾種用法小結(jié)

    forEach()是JavaScript中一個(gè)常用的方法,用于遍歷數(shù)組或類(lèi)數(shù)組對(duì)象中的每個(gè)元素,本文就來(lái)介紹一下JavaScript forEach的幾種用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • JavaScript中Cookie的使用之如何設(shè)置失效時(shí)間

    JavaScript中Cookie的使用之如何設(shè)置失效時(shí)間

    這篇文章主要介紹了JavaScript中Cookie的使用之如何設(shè)置失效時(shí)間問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-12-12
  • 面試常見(jiàn)的js算法題

    面試常見(jiàn)的js算法題

    本文主要介紹了面試常見(jiàn)的js算法題。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • js 編程筆記 無(wú)名函數(shù)

    js 編程筆記 無(wú)名函數(shù)

    無(wú)名函數(shù),其中一個(gè)作用可能是生成新的函數(shù)對(duì)象的引用,主要是用于定義。
    2011-06-06

最新評(píng)論

乐平市| 宣威市| 达孜县| 仪陇县| 乌审旗| 循化| 开原市| 前郭尔| 南通市| 青铜峡市| 石渠县| 大庆市| 红原县| 新乡市| 兴宁市| 岑巩县| 柳林县| 彭水| 大兴区| 洛川县| 五原县| 巴青县| 巍山| 本溪| 萨迦县| 泸州市| 财经| 海盐县| 繁昌县| 凤阳县| 嵊泗县| 蓬溪县| 八宿县| 富裕县| 霍山县| 临西县| 泰和县| 遂平县| 文登市| 房产| 花莲县|