微信小程序日期選擇器顯示當前系統(tǒng)年月日時分

小程序vant-weapp的日期選擇器的使用(年月日時分)

話不多說,記錄一下這個框架的使用~小程序使用輕量、可靠的小程序 UI 組件庫 vant-weapp
Github源碼:https://github.com/youzan/vant-weapp
中文文檔:https://youzan.github.io/vant-weapp/#/intro


1:打開微信開發(fā)者工具信粮,填寫自己的appid和項目名稱,選擇不使用云服務趁啸,新建一個項目强缘。

image
image

2:右擊在選擇在終端打開

image

進入項目的根目錄底下,注意不傅,一定要進入根目錄哦旅掂,使用cd ../返回上一級目錄~

image

3:小程序已經(jīng)支持使用 npm 安裝第三方包,
這里通過 npm 安裝

   1访娶、第一步:npm init

   2商虐、第二步:npm install --production

   3、第三步: npm i @vant/weapp -S --production
      或者  npm i vant-weapp -S --production

image
image
image

這里需要注意一下
npm i vant-weapp -S --production或者npm i @vant/weapp -S --production
引入的區(qū)別

使用npm i vant-weapp安裝的時候崖疤,到時候在在app.json或index.json中引入組件秘车,需要使用這樣的路徑

{
  "usingComponents": {
    "van-button": "../../miniprogram_npm/vant-weapp/button/index"
  }
}

使用npm i @vant/weapp安裝的時候,到時候在在app.json或index.json中引入組件劫哼,需要使用這樣的路徑(推薦叮趴,因為這個可以直接抄文檔,不需要改變引入路徑的~)

{
"usingComponents": {
  "van-button": "@vant/weapp/button/index"
}
}

4:在微信開發(fā)工具執(zhí)行npm 構建权烧,點擊工具里面眯亦,構建npm

image

構建過程需要等待一會兒伤溉,不要捉急

image

構建完會生成一個miniprogram_npm文件夾
如果構建完如果編譯報錯,再構建一次就好了

image
話不多說妻率,來看看小程序vant-weapp的日期選擇器的使用

日期選擇器文檔參照一下

https://youzan.github.io/vant-weapp/#/datetime-picker

5:使用DatetimePicker 時間選擇組件

選擇日期格式如下:

2021-06-25 9:29

參考代碼:
test.wxml

<view>當前選擇:{{currentChoose}}</view>
<button bind:tap="openPicker">打開選擇器</button>
<van-action-sheet show="{{ show }}" bind:close="onClose" bind:getuserinfo="onGetUserInfo">
  <van-datetime-picker type="datetime" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" bind:cancel="onCancel"
    bind:confirm="onConfirm"  bind:change="onChange" />
</van-action-sheet>

test.js


const app = getApp()
Page({
  data: {
    minHour: 0,
    maxHour: 24,
    minDate: new Date(1990,1,1).getTime(),
    maxDate: new Date(2099, 12, 31).getTime(),
    currentDate: new Date().getTime(),
    show: false,
    currentChoose: ''
  },
  openPicker() {
    this.setData({ show: true })
  },
  onConfirm(e) {
    this.setData({ show: false, currentChoose: this.formatDate(new Date(e.detail)) })
  },
  onClose() {
    this.setData({ show: false })
  },
  onCancel() {
    this.setData({ show: false })
  },
  formatDate(date) {
    let taskStartTime
    if (date.getMonth() < 9) {
      taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-"
    } else {
      taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
    }
    if (date.getDate() < 10) {
      taskStartTime += "0" + date.getDate()
    } else {
      taskStartTime += date.getDate()
    }
    taskStartTime += " " + date.getHours() + ":" + date.getMinutes()
    this.setData({
      taskStartTime: taskStartTime,
    })
    return taskStartTime;
  },
})

test.json

{
  "usingComponents": {
    "van-datetime-picker": "@vant/weapp/datetime-picker/index",
    "van-action-sheet": "@vant/weapp/action-sheet/index"
  }
}

結果:
點擊打開選擇器的時候
日期選擇器的組件會從底部彈框彈出
可以選擇自己想要的時間乱顾,然后將時間顯示在頁面上
或者傳遞給后端都可以
根據(jù)自己的需求進行修改~~~

以上能夠使用年月日時分的組件了
有的時候
項目上會遇到這樣的需求
需要將當前的時間默認顯示出來
微信小程序日期選擇器顯示當前系統(tǒng)年月日時分

其實很簡單
在前面的文章里面就已經(jīng)提到了
參考之前寫的文章
我們這里需要用到utils

可以將一些公共的代碼抽離成為一個單獨的 js (utils.js)文件,作為一個模塊;
模塊只有通過 module.exports 或者 exports 才能對外暴露接口宫静。
所以當你在util.js里封裝的方法想要在外部使用的話,必須通過 module.exports 或者 exports 對外暴露
這就和CommonJS 模塊化標準一致

參考一下之前寫的
微信小程序顯示當前系統(tǒng)年月日時分秒
https://blog.csdn.net/qq_36538012/article/details/108143274

1:打開項目里面默認生成的util.js
這里可以看到糯耍,代碼已經(jīng)寫好了,我們只需要引用就行了

const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  //const second = date.getSeconds()

  return `${[year, month, day].map(formatNumber).join('-')} ${[hour, minute].map(formatNumber).join(':')}`
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : `0${n}`
}

module.exports = {
  formatTime
}

2:開始寫代碼
打開文章上面開始寫好的test.wxml的demo囊嘉,寫一個可以顯示時間的標簽

<view>當前選擇:{{currentChoose}}</view>

3:最重要的是index.js的代碼
要引入上面默認的util.js
在調(diào)用函數(shù)時温技,傳入new Date()參數(shù),返回值是日期和時間
再通過setData更改Page()里面的data扭粱,動態(tài)更新頁面的數(shù)據(jù)

var util = require('../../utils/util.js');

// 調(diào)用函數(shù)時舵鳞,傳入new Date()參數(shù),返回值是日期和時間
// 再通過setData更改Page()里面的data琢蛤,動態(tài)更新頁面的數(shù)據(jù)

 onLoad: function() {
    // 調(diào)用函數(shù)時蜓堕,傳入new Date()參數(shù),返回值是日期和時間
    var time = util.formatTime(new Date());
    // 再通過setData更改Page()里面的data博其,動態(tài)更新頁面的數(shù)據(jù)
    this.setData({
      currentChoose: time
    });
  },

4:demo例子
test.wxml例子

<view>當前選擇:{{currentChoose}}</view>
<button bind:tap="openPicker">打開選擇器</button>
<van-action-sheet show="{{ show }}" bind:close="onClose" bind:getuserinfo="onGetUserInfo">
  <van-datetime-picker type="datetime" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" bind:cancel="onCancel"
    bind:confirm="onConfirm"  bind:change="onChange" />
</van-action-sheet>

test.js例子

var util = require('../../utils/util.js');
const app = getApp()
Page({
  data: {
    minHour: 0,
    maxHour: 24,
    minDate: new Date(1990, 1, 1).getTime(),
    maxDate: new Date(2099, 12, 31).getTime(),
    currentDate: new Date().getTime(),
    show: false,
    currentChoose: ''
  },
  onLoad: function() {
    // 調(diào)用函數(shù)時套才,傳入new Date()參數(shù),返回值是日期和時間
    var time = util.formatTime(new Date());
    // 再通過setData更改Page()里面的data慕淡,動態(tài)更新頁面的數(shù)據(jù)
    this.setData({
      currentChoose: time
    });
  },

  openPicker() {
    this.setData({
      show: true
    })
  },
  onConfirm(e) {
    this.setData({
      show: false,
      currentChoose: this.formatDate(new Date(e.detail))
    })
  },
  onClose() {
    this.setData({
      show: false
    })
  },
  onCancel() {
    this.setData({
      show: false
    })
  },
  formatDate(date) {
    let taskStartTime
    if (date.getMonth() < 9) {
      taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-"
    } else {
      taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
    }
    if (date.getDate() < 10) {
      taskStartTime += "0" + date.getDate()
    } else {
      taskStartTime += date.getDate()
    }
    taskStartTime += " " + date.getHours() + ":" + date.getMinutes()
    this.setData({
      taskStartTime: taskStartTime,
    })
    return taskStartTime;
  },
})

效果顯示
微信小程序日期選擇器顯示當前系統(tǒng)年月日時分
完成


?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末背伴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子峰髓,更是在濱河造成了極大的恐慌傻寂,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件携兵,死亡現(xiàn)場離奇詭異疾掰,居然都是意外死亡,警方通過查閱死者的電腦和手機徐紧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門静檬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人并级,你說我怎么就攤上這事拂檩。” “怎么了死遭?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵广恢,是天一觀的道長。 經(jīng)常有香客問我呀潭,道長钉迷,這世上最難降的妖魔是什么至非? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮糠聪,結果婚禮上荒椭,老公的妹妹穿的比我還像新娘。我一直安慰自己舰蟆,他們只是感情好趣惠,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著身害,像睡著了一般味悄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上塌鸯,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天侍瑟,我揣著相機與錄音,去河邊找鬼丙猬。 笑死涨颜,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的茧球。 我是一名探鬼主播庭瑰,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼抢埋!你這毒婦竟也來了弹灭?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤羹令,失蹤者是張志新(化名)和其女友劉穎鲤屡,沒想到半個月后损痰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體福侈,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年卢未,在試婚紗的時候發(fā)現(xiàn)自己被綠了肪凛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡辽社,死狀恐怖伟墙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情滴铅,我是刑警寧澤戳葵,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站汉匙,受9級特大地震影響拱烁,放射性物質(zhì)發(fā)生泄漏生蚁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一戏自、第九天 我趴在偏房一處隱蔽的房頂上張望邦投。 院中可真熱鬧,春花似錦擅笔、人聲如沸志衣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽念脯。三九已至,卻和暖如春弯淘,著一層夾襖步出監(jiān)牢的瞬間和二,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工耳胎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惯吕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓怕午,卻偏偏與公主長得像废登,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子郁惜,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容