小程序当前日期的获取并应用(我的成长之路_No.3)

该博客介绍了在JavaScript中处理当前日期和时间的方法,包括获取当前日期、时间以及格式化输出。在页面中,利用时间选择器进行日期输入,并在选择时进行有效性校验,确保截止日期不早于起始日期。此外,还展示了如何在页面加载时初始化时间和如何实时更新时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前日期封装:

util.js:

var api = require('../config/api.js');

//当前日期时间(年月日时分秒)
function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()
  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()
  return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
};

//当前日期 (年月日)
function nowCurrDate(currDate) {
    var year = currDate.getFullYear()
    var month = currDate.getMonth() + 1
    var day = currDate.getDate()
    return [year, month, day].map(formatNumber).join('-')
}
//当前时间(时分秒)
function formatNowTime(nowDate) {
  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()
  return [hour, minute, second].map(formatNumber).join(':')
};

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
};

module.exports = {
    nowCurrDate,
    formatTime,
    formatNowTime
}

页面后端调用:

-------------------------------方法1----------------------------------------
const currentDate = util.nowCurrDate(new Date());//调用函数 声明


data:{
    start_Time:'',//起始日期
    end_time:'',//截止日期
    startYear: 1950,//开始年限
    endYear: 2050,//截止年限
}


/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		var that = this;
		that.setData({
            start_time: currentDate,//赋值
		    end_time: currentDate,//赋值
        })
      }

---------------------------------方法2-----------------------------------------

//获取当前时间
setInterval(function () {
     that.setData({
         currentDate:util.nowCurrDate(new Date())
     });
},100)//延时

---------------------------------处理时间选择器---------------------------------

//修改起始时间
	bindDateChange_start:function (e) {
		console.log(e.detail.value);
		this.setData({
		start_time: e.detail.value
		})
	},
	//修改截止时间
	bindDateChange_end:function (e) {
		console.log(e.detail.value);
		this.setData({
		end_time: e.detail.value
		})
	},

页面前端渲染:

<!-- 起始时间 -->
        <view class="input_box">
			<view class="title">起始日期:</view>
			<picker mode="date"  name="start_time" value="{{start_time}}" 
                    start="{{startYear}}" end="{{endYear}}"
                    bindchange="bindDateChange_start">
            <view class="picker">
                <text>{{start_time}}</text>
            </view>
            </picker>
		</view>
  <!-- 截止时间 -->
		<view class="input_box">
			<view class="title">截至日期:</view>
			<picker mode="date" name="end_time" value="{{end_time}}" 
                    start="{{startYear}}" end="{{endYear}}" 
                    bindchange="bindDateChange_end">
            <view class="picker">
                <text>{{end_time}}</text>
            </view>
            </picker>
		</view>

在查询或提交时两个时间进行判断:

 

var data = e.detail.value;

if (data.end_time < data.start_time) {
    wx.showToast({
          title: '截止时间不能小于起始时间',
          icon:'none',
          duration:2000
       })
          return
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值