微信小程序实例:实现系统时间、时间戳时间以及时间戳加减的获取代码

介绍

微信小程序实例:实现系统时间、时间戳时间以及时间戳加减的获取代码。在小程序中,获取时间可以说是非常常见的操作,开发者可以方便地通过微信小程序的 API 来获取。这篇文章将为大家介绍如何获取系统时间、时间戳时间以及时间戳加减的方法。

系统时间的获取

原理

在微信小程序中,我们可以使用 Date 对象来获取系统时间。Date 对象表示时间和日期的值,但它并不是数字,而是一个对象。我们可以使用 Date 对象的 getDate、getDay、getFullYear 等方法来获取系统时间的年、月、日等信息。

// 获取系统时间

var date = new Date();

// 获取年份

var year = date.getFullYear();

// 获取月份(注意,月份返回的是0-11的数字,所以需要加一)

var month = date.getMonth() + 1;

// 获取日期

var day = date.getDate();

// 获取星期(返回0-6的数字,0表示星期天,1表示星期一,以此类推)

var week = date.getDay();

// 获取小时(24小时制)

var hour = date.getHours();

// 获取分钟

var minute = date.getMinutes();

// 获取秒

var second = date.getSeconds();

示例

下面的代码演示了如何在小程序中获取系统时间,并将其显示在页面上:

// pages/index/index.js

Page({

data: {

time: ''

},

onLoad: function () {

// 获取系统时间

var date = new Date();

var year = date.getFullYear();

var month = formatNumber(date.getMonth() + 1);

var day = formatNumber(date.getDate());

var hour = formatNumber(date.getHours());

var minute = formatNumber(date.getMinutes());

var second = formatNumber(date.getSeconds());

// 将时间格式化为 YYYY-MM-DD HH:MM:SS 的形式

this.setData({

time: year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second

})

}

})

// 将数字格式化为两位数

function formatNumber(n) {

n = n.toString()

return n[1] ? n : '0' + n

}

在页面中添加一个文本框,将时间绑定到该文本框:

<view>当前时间:{{time}}</view>

时间戳时间的获取

原理

时间戳(timestamp)指的是从格林威治时间1970年01月01日00时00分00秒起到现在的总秒数,是一个长整数。在小程序中,我们可以使用 Date 对象的 getTime() 方法来获取当前时间的时间戳。

// 获取当前时间的时间戳

var timestamp = Date.now() / 1000;

注意这里除以1000,是因为 getTime() 方法返回的是以毫秒为单位的时间戳。

示例

下面的代码演示了如何在小程序中获取时间戳,并将其显示在页面上:

// pages/index/index.js

Page({

data: {

timestamp: ''

},

onLoad: function () {

// 获取当前时间的时间戳

var timestamp = Date.now() / 1000;

// 将时间戳转换为日期格式

var date = new Date(timestamp * 1000);

var year = date.getFullYear();

var month = formatNumber(date.getMonth() + 1);

var day = formatNumber(date.getDate());

var hour = formatNumber(date.getHours());

var minute = formatNumber(date.getMinutes());

var second = formatNumber(date.getSeconds());

// 将时间格式化为 YYYY-MM-DD HH:MM:SS 的形式

this.setData({

timestamp: year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second

})

}

})

// 将数字格式化为两位数

function formatNumber(n) {

n = n.toString()

return n[1] ? n : '0' + n

}

在页面中添加一个文本框,将时间戳绑定到该文本框:

<view>当前时间戳:{{timestamp}}</view>

时间戳加减的获取

原理

在小程序中,我们可以通过 Date 对象的 getTime() 方法以及一些简单的数学运算来进行时间戳加减。下面是一些常见的时间戳加减用法:

var timestamp = Date.now() / 1000; // 获取当前时间的时间戳

var nextDayTimestamp = timestamp + 24 * 60 * 60; // 获取下一天此时的时间戳

var fiveMinuteLaterTimestamp = timestamp + 5 * 60; // 获取五分钟后的时间戳

var oneHourAgoTimestamp = timestamp - 60 * 60; // 获取一小时前的时间戳

示例

下面的代码演示了如何在小程序中获取当前时间,并分别获取明天此时的时间、五分钟后的时间以及一小时前的时间:

// pages/index/index.js

Page({

data: {

today: '',

tomorrow: '',

fiveMinuteLater: '',

oneHourAgo: ''

},

onLoad: function () {

var timestamp = Date.now() / 1000;

// 获取今天的日期

var date = new Date(timestamp * 1000);

var year = date.getFullYear();

var month = formatNumber(date.getMonth() + 1);

var day = formatNumber(date.getDate());

var hour = formatNumber(date.getHours());

var minute = formatNumber(date.getMinutes());

var second = formatNumber(date.getSeconds());

this.setData({

today: year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second

})

// 获取明天此时的时间

var tomorrowTimestamp = timestamp + 24 * 60 * 60;

var tomorrowDate = new Date(tomorrowTimestamp * 1000);

var tomorrowYear = tomorrowDate.getFullYear();

var tomorrowMonth = formatNumber(tomorrowDate.getMonth() + 1);

var tomorrowDay = formatNumber(tomorrowDate.getDate());

var tomorrowHour = formatNumber(tomorrowDate.getHours());

var tomorrowMinute = formatNumber(tomorrowDate.getMinutes());

var tomorrowSecond = formatNumber(tomorrowDate.getSeconds());

this.setData({

tomorrow: tomorrowYear + '-' + tomorrowMonth + '-' + tomorrowDay + ' ' + tomorrowHour + ':' + tomorrowMinute + ':' + tomorrowSecond

})

// 获取五分钟后的时间

var fiveMinuteLaterTimestamp = timestamp + 5 * 60;

var fiveMinuteLaterDate = new Date(fiveMinuteLaterTimestamp * 1000);

var fiveMinuteLaterYear = fiveMinuteLaterDate.getFullYear();

var fiveMinuteLaterMonth = formatNumber(fiveMinuteLaterDate.getMonth() + 1);

var fiveMinuteLaterDay = formatNumber(fiveMinuteLaterDate.getDate());

var fiveMinuteLaterHour = formatNumber(fiveMinuteLaterDate.getHours());

var fiveMinuteLaterMinute = formatNumber(fiveMinuteLaterDate.getMinutes());

var fiveMinuteLaterSecond = formatNumber(fiveMinuteLaterDate.getSeconds());

this.setData({

fiveMinuteLater: fiveMinuteLaterYear + '-' + fiveMinuteLaterMonth + '-' + fiveMinuteLaterDay + ' ' + fiveMinuteLaterHour + ':' + fiveMinuteLaterMinute + ':' + fiveMinuteLaterSecond

})

// 获取一小时前的时间

var oneHourAgoTimestamp = timestamp - 60 * 60;

var oneHourAgoDate = new Date(oneHourAgoTimestamp * 1000);

var oneHourAgoYear = oneHourAgoDate.getFullYear();

var oneHourAgoMonth = formatNumber(oneHourAgoDate.getMonth() + 1);

var oneHourAgoDay = formatNumber(oneHourAgoDate.getDate());

var oneHourAgoHour = formatNumber(oneHourAgoDate.getHours());

var oneHourAgoMinute = formatNumber(oneHourAgoDate.getMinutes());

var oneHourAgoSecond = formatNumber(oneHourAgoDate.getSeconds());

this.setData({

oneHourAgo: oneHourAgoYear + '-' + oneHourAgoMonth + '-' + oneHourAgoDay + ' ' + oneHourAgoHour + ':' + oneHourAgoMinute + ':' + oneHourAgoSecond

})

}

})

// 将数字格式化为两位数

function formatNumber(n) {

n = n.toString()

return n[1] ? n : '0' + n

}

在页面中添加四个文本框,分别将今天的时间、明天此时的时间、五分钟后的时间和一小时前的时间绑定到这四个文本框上:

<view>今天的时间:{{today}}</view>

<view>明天此时的时间:{{tomorrow}}</view>

<view>五分钟后的时间:{{fiveMinuteLater}}</view>

<view>一小时前的时间:{{oneHourAgo}}</view>

总结

本篇文章介绍了微信小程序中获取系统时间、时间戳时间以及时间戳加减的方法。通过本文的学习,我们可以更加方便地在小程序中进行时间相关的操作。