获取时间转成北京时间代码
import{utc_beijing} from "../../utils/jumpUtils.js";
const app = getApp()
Page({
creatOrder(goodsnum){
//获取当前时间戳 转换成北京时间
let timestamp = formatTime(utc_beijing(app.globalData.serverDate)) ;
}
})
../../utils/jumpUtils.js
//utc时间转北京时间
const utc_beijing = utc_datetime =>{
// 转为正常的时间格式 年-月-日 时:分:秒
console.log('utc_beijing 中 utc_datetime:'+utc_datetime)
//utc_datetime=utc_datetime.replace(/-/g, '/')
//console.log('utc_beijing 中 utc_datetime:'+utc_datetime)
var T_pos = utc_datetime.indexOf('T');
var Z_pos = utc_datetime.indexOf('Z');
var year_month_day = utc_datetime.substr(0, T_pos);
var hour_minute_second = utc_datetime.substr(T_pos + 1, Z_pos - T_pos - 1);
var new_datetime = year_month_day + " " + hour_minute_second; // 2017-03-31 08:02:06
console.log('utc_beijing 中 new_datetime:'+new_datetime)
console.log('utc_beijing 中 new_datetime after replace:'+new_datetime.replace(/-/g, '/'))
console.log('utc_beijing 中 new_datetime Date.parse:'+Date.parse(new_datetime.replace(/-/g, '/')) )
//console.log('utc_beijing 中 new_datetime before replace Date.parse:'+Date.parse(new_datetime.replace(/-/g, '/')) )
// 处理成为时间戳
timestamp = new Date(Date.parse(new_datetime.replace(/-/g, '/')));
timestamp = timestamp.getTime();
timestamp = timestamp / 1000;
// 增加8个小时,北京时间比utc时间多八个时区
console.log('cur timestamp is : '+ timestamp)
var timestamp = timestamp + 8 * 60 * 60;
// 时间戳转为时间
// var beijing_datetime = new Date(parseInt(timestamp) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
var beijing_datetime = new Date(parseInt(timestamp) * 1000)
console.log('utc_beijing 中 beijing_datetime:'+beijing_datetime)
return beijing_datetime; // 2017-03-31 16:02:06
}
module.exports = {
utc_beijing: utc_beijing
}
formatTime已经转成/了为什么还不行?是转的地方不对吗?
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
云函数:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
traceUser: true,
env: 'prod-xxx'
})
// 云函数入口函数
exports.main = async (event, context) => {
return new Date()
}
app.js
//app.js
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('请使用 2.2.3 或以上的基础库以使用云能力')
} else {
wx.cloud.init({
// env 参数说明:
// env 参数决定接下来小程序发起的云开发调用(wx.cloud.xxx)会默认请求到哪个云环境的资源
// 此处请填入环境 ID, 环境 ID 可打开云控制台查看
// 如不填则使用默认环境(第一个创建的环境)
env: 'prod-xxx',
traceUser: true,
})
}
this.globalData = { serverDate: this.getserverDate()}
},
//获取服务器时间
getserverDate:function(){
wx.cloud.callFunction({
name: 'getdate',
success: function (res) {
getApp().globalData.serverDate = res.result
}
})
},
})
补充一下appid,请官方客服看一下吧
代码片段:
https://developers.weixin.qq.com/s/3Kw6yGm87Rjm