可以配置时区。
云函数计算的默认时区是UTC+0,这可能与您所在地的时区不同,比如在中国,本地时区是UTC+8。为了确保时间的准确性,您可以在云函数中配置环境变量来修改时区设置。以下是具体的步骤:
TZ
变量,将其值设置为所需的时区,例如Asia/Shanghai
代表上海时区。console.log(date)
打印日期时,会默认转换为UTC时间。为了避免这种情况,您可以在日志输出之前将日期对象转换为字符串格式。需要注意的是,由于云函数的服务器时区是UTC+0,而小程序本地开发的时区是UTC+8,所以在本地调试和云端调试时可能会看到不同的表现。这需要开发者在编写和测试涉及时间的云函数时特别注意。
可以配置环境变量进行时区修改:TZ = Asia/Shanghai 如何配置环境变量
需要注意的是,在nodejs环境中,console.log(date) 会转成utc 时间,可以直接先转成 string , 然后在console.log,
var date = new Date();
console.info(date.toTimeString());
或者自己重写 console.log, 如下面代码所示
'use strict';
var util = require('util');
function _writeToStdout(level, msg) {
const now = new Date();
// 自定义格式
const timeStr = $now.getFullYear()-$now.getMonth()+1-$now.getDate()T$now.getHours():$now.getMinutes():$(now.getSeconds()*1000+now.getMilliseconds())/1000Z
// const timeStr = now.toLocaleString();
let requestID = process._fc && process._fc.requestId ? process._fc.requestId : '';
let logMsg = $timeStr $requestID [$level] $msg;
logMsg = logMsg.replace(/\n/g, "\r");
process.stdout.write(logMsg + "\n");
}
var log = function (level, msg, ...params) {
var logMsg = util.format(msg, ...params);
_writeToStdout(level, logMsg);
};
console.log = function (msg, ...params) {
log('verbose', msg, ...params);
};
console.info = function (msg, ...params) {
log('info', msg, ...params);
};
console.warn = function (msg, ...params) {
log('warn', msg, ...params);
};
console.error = function (msg, ...params) {
log('error', msg, ...params);
};
console.debug = function (msg, ...params) {
log('debug', msg, ...params);
};
exports.handler = (event, context, callback) => {
// const eventObj = JSON.parse(event.toString());
console.log('hello world');
callback(null, 'hello world');
}
--此回答整理自钉群“阿里函数计算官网客户”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。