my.getservertime(object object)
主体: 企业支付宝小程序 、 个人支付宝小程序
获取支付宝服务器的当前时间。
object object
查看示例
属性 | 类型 | 默认值 | 必填 | 描述 |
---|---|---|---|---|
success | function | - | 否 | 调用成功的回调函数 |
fail | function | - | 否 | 调用失败的回调函数 |
complete | function | - | 否 | 调用结束的回调函数(调用成功、失败都会执行) |
success 回调函数
参数
object res
查看示例
属性 | 类型 | 描述 |
---|---|---|
time | number | 支付宝服务器当前时间(距 1970-01-01 00:00:00(utc)的毫秒数) |
在线示例
代码示例
扫码体验
my.getservertime(object object)
success 参数
my.getservertime({
success: function(res) {
console.log(res);
},
fail: function(err) {
console.log(err);
}
});
{
"time": 1686052197128
}
-
tipmy.getservertime 获取的时间为支付宝服务器的当前时间,与 new date().gettime() 获取的本机时间可能存在差异,为正常现象。在华为系列手机上,这个差异可能会相对较大(数百毫秒)。
q:通过 my.getservertime 获取到的时间戳怎么转化为日期时间?
a:
- 可使用 new date(time) 得到 对象,调用其方法获取相应字段。
- 可使用如下方法进行格式化。
const timeformat = (time, fmt = 'yyyy-mm-dd hh:mm:ss') => {
const dte = new date(time);
function getyearweek(date) {
var date1 = new date(date.getfullyear(), date.getmonth(), date.getdate());
var date2 = new date(date.getfullyear(), 0, 1);
//获取1月1号星期(以周一为第一天,0周一~6周日)
var dateweeknum = date2.getday() - 1;
if (dateweeknum < 0) {
dateweeknum = 6;
}
if (dateweeknum < 4) {
// 前移日期
date2.setdate(date2.getdate() - dateweeknum);
} else {
// 后移日期
date2.setdate(date2.getdate() 7 - dateweeknum);
}
var d = math.round((date1.valueof() - date2.valueof()) / 86400000);
if (d < 0) {
var date3 = new date(date1.getfullyear() - 1, 11, 31);
return getyearweek(date3);
} else {
// 得到年数周数
var year = date1.getfullyear();
var week = math.ceil((d 1) / 7);
return week;
}
}
var o = {
'm ': dte.getmonth() 1, // 月份
'd ': dte.getdate(), // 日
'h ': dte.gethours(), // 小时
'm ': dte.getminutes(), // 分
's ': dte.getseconds(), // 秒
'q ': math.floor((dte.getmonth() 3) / 3), // 季度
s: dte.getmilliseconds(), // 毫秒
'w ': getyearweek(dte), // 周数
};
if (/(y )/.test(fmt))
fmt = fmt.replace(
regexp.$1,
(dte.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;
};
timeformat(time, 'yyyy-mm-dd hh:mm:ss'); // 1970-01-01 00:00:00
timeformat(time, 'yyyy-m-d h:m:s'); // 1970-1-1 0:0:0
- 也可使用 day.js 等社区方案实现时间格式化。