支付宝小程序时间选择器改成yyyy-MM-dd hh:mm 格式
时间: 2023-10-04 22:09:54 浏览: 168
JS验证日期的格式YYYY-mm-dd 具体实现
要将支付宝小程序的时间选择器改成yyyy-MM-dd hh:mm格式,可以使用以下代码:
```html
<view class="picker">
<view class="picker-header">请选择日期和时间</view>
<picker mode="datetime" value="{{datetime}}" start="{{nowTime}}" end="{{endTime}}" bindchange="bindDateTimeChange">
<view class="picker-content">
{{datetime}}
</view>
</picker>
</view>
```
在js文件中定义以下变量:
```javascript
data: {
datetime: '',
nowTime: '',
endTime: ''
}
```
在onLoad函数中设置当前时间、结束时间:
```javascript
onLoad: function () {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDate();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
this.setData({
nowTime: year + '-' + month + '-' + day + ' ' + hour + ':' + minute,
endTime: (year + 1) + '-' + month + '-' + day + ' ' + hour + ':' + minute
})
},
```
在bindDateTimeChange函数中将时间格式化为yyyy-MM-dd hh:mm格式:
```javascript
bindDateTimeChange: function (e) {
var datetime = e.detail.value;
datetime = datetime.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '').replace(/(-)/g, '/');
datetime = new Date(datetime).Format('yyyy-MM-dd hh:mm');
this.setData({
datetime: datetime
})
},
```
可以在utils文件夹下新建一个日期格式化的js文件,定义以下函数:
```javascript
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
```
这样就可以将支付宝小程序的时间选择器改成yyyy-MM-dd hh:mm格式了。
阅读全文