const nowdate = new Date();
// ! 需要更多参数可以在这里扩展
let value = {
month: nowdate.getMonth() + 1,// 当前月份
year: nowdate.getFullYear(),// 当前年份
time: nowdate.getTime(),// 当前的时间戳
day:nowdate.getDate(),// 当月天数 fix:24点过后第二天早上9点之前依然是前一天的天数
name,
price: Number(price.toFixed(2)),
type,
dianpu,
images: [],
other: {},
};
- 发布:2022-10-26 15:33
- 更新:2022-10-31 15:59
- 阅读:281
产品分类: uniCloud/App
示例代码:
操作步骤:
const nowdate = new Date(); 在unicloud当中9.前使用getDate()是前一天的月份天数
const nowdate = new Date(); 在unicloud当中9.前使用getDate()是前一天的月份天数
预期结果:
9.前使用getDate()是当天的月份天数
9.前使用getDate()是当天的月份天数
实际结果:
9.前使用getDate()是前一天的月份天数
9.前使用getDate()是前一天的月份天数
bug描述:
我早上9.(左右)之前录入数据时,时间戳已经到了今天的了,但是就是那个getDate()还是停留在了昨天,用的同一个实例Date,而且后面value对象我没有进行任何处理! 9.之后录入数据就没有问题!
mfxhb (作者)
getDate()
我单独使用了下面这个来获取,目前没有问题
// 获取当前时间 fix:unicloud时区为utc+0
exports.timeFix = function () {
try {
let timezone = 8; //目标时区时间,东八区
let offset_GMT = new Date().getTimezoneOffset(); // 本地时间和格林威治的时间差,单位为分钟
let nowDate = new Date().getTime(); // 本地时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数
let targetDate = new Date(
nowDate + offset_GMT * 60 * 1000 + timezone * 60 * 60 * 1000
);
return targetDate;
} catch (error) {
return new Date();
}
};