微信小程序--获取时间戳、picker组件获取时间的规范化

一、封装函数获取时间戳

封装函数
在这里插入图片描述
自定义一个文件夹,放utils.js
utils.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 formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

module.exports = {
  formatTime: formatTime
}

使用函数
ceshi.js

// 在需要使用的js文件中,导入js
// 路径就填自己放的路径 
var util = require('../utils/utils.js');
Page({
  data: {

  },
  onLoad: function () {
    // 调用函数时,传入new Date()参数,返回值是日期和时间
    var time = util.formatTime(new Date());
    // 再通过setData更改Page()里面的data,动态更新页面的数据
  console.log(time)//打印测试时间
  }

})

结果

2019/11/09 13:09:56

二、不用封装函数,自己获取时间戳

比如,我就需要现在的年、月、日,若封装函数,感觉代码量有点多。
那么我们就自己在js中随时获取,就ok了。
ceshi.js

Page({
  data: {

  },
  onLoad: function () {
let year=new Date().getFullYear()
let month=new Date().getMonth()+1  //这里month需要+1
let day=new Date().getDate()
let hour=new Date().getHours()
let minute=new Date().getMinutes()
let secend=new Date().getSeconds()
console.log("year="+year);
console.log("month="+month)
console.log("day="+day)
console.log("hour="+hour)
  }
})

结果
在这里插入图片描述
注意:使用getFullYear()等获取信息的时候,记得后面是有 括号的!

三、使用picker组件获取用户选择的时间,并规范化

1、使用picker组件获取用户选择时间

wxml

<view class="top_content">
		<picker mode="date" value="{{date}}" start="2015-09-01" end="2020-09-01" bindchange="DateChange">
<view class="top_contenta">在一起</view>
<text><text class="top_contentb">{{total_days}}</text></text>
		</picker>
</view>

js

 DateChange:function(e){
 //选择的时间 在e.detail.value中
    console.log("用户选择的时间是:" + e.detail.value)    
}      

结果(控制台调试结果)

用户选择的时间是:2019-11-09

2、规范化,便于求日期加减
js

 DateChange:function(e){
    
    console.log("用户选择的时间是:" + e.detail.value)
   
    // 时间规范化 将2019-1-1==》 2019/1/1 
    var start_date = e.detail.value.replace(/-/g, "/")
    //利用 Date.parse 求距离1970-1-1的毫秒数 方便进行日期加减计算
    var x = Date.parse(new Date(start_date));
    var y=Date.parse(new Date("2017-1-1"))//自定义字符串 string==》Date
    //验证结果
    console.log("用户选择的时间距离1970-1-1的毫秒数="+x)
    console.log("2017-1-1距离1970-1-1的毫秒数="+y)
    console.log("二者之间相差的天数="+(x-y)/(1000*3600*24))
}   

结果
在这里插入图片描述

更多

获取更多资料、代码,微信公众号:海轰Pro
回复 海轰 即可

微信小程序中,可以使用以下方法获取时间: 引用\[2\]中提到的方法是通过util.js文件中的函数来获取时间。你需要在util.js文件中定义一个函数,例如util.js_date_time,然后在需要获取时间的地方调用这个函数,并传入要化的时间戳和时间格式作为参数。这样就可以得到所需的时间戳。 另外,引用\[3\]中提到的方法是通过将日期字符串换为特定格式,然后使用new Date()函数来获取时间。在小程序环境中,需要将日期字符串中的点号替换为斜杠,然后使用new Date()函数来获取时间。 以下是一个示例代码,展示了如何在微信小程序获取时间: ```javascript // 引入util.js文件 var util = require('../../utils/util.js'); // 使用util.js中的函数获取时间 var time = util.js_date_time('要化的时间戳', 'Y/M/D h:m:s'); // 或者使用替换点号的方法获取时间 var dateStr = '2023.01.12 10:00'.split(".").join("/"); var timestamp = new Date(dateStr).valueOf(); ``` 请注意,以上代码中的'要化的时间戳'和'日期'需要替换为实际的时间戳和日期。同时,你需要根据自己的实际情况来定义util.js文件中的函数和路径。 希望以上信息对你有所帮助! #### 引用[.reference_title] - *1* [微信小程序获取当前时间戳、日期、时间](https://blog.csdn.net/weixin_45897706/article/details/124281580)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [微信小程序--时间戳使用](https://blog.csdn.net/Yuan_mingyu/article/details/98516823)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [微信小程序获取指定时间时间戳 时间undefined/Invalid date](https://blog.csdn.net/weixin_49230250/article/details/128645223)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海轰Pro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值