首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PDT或PST时区中实现Google功能

如何在PDT或PST时区中实现Google功能
EN

Stack Overflow用户
提问于 2019-11-13 07:34:13
回答 4查看 3.1K关注 0票数 0

我有一个Google函数,它解析来自UTC日期的月份,例如myDate = Wed 13 2019 02:05:00 GMT+0000 (UTC)这个日期实际上是旧金山时间(PDT或PST)中的Tues 12。

但是,在我的Google功能中,当我尝试用myDate.getDate()从这个日期得到一个月的日期时,我得到的是13而不是12。

我相信它返回13的原因是因为运行云功能的机器的时区是基于UTC时间的。当我在我的本地机器上运行这个函数时,我得到12作为正确的日期,因为我的本地机器是在PST时间。

如何使Google函数在PDT或PST时区中操作,以便getDate()函数在PDT或PST时区中给出正确的日期?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-11-13 17:57:15

作为道格说,不可能在云函数服务器实例上配置时区。

不过,你不需要图书馆。使用NodeJS 8或10的Google函数可以使用JavaScript国际化API获取特定时区的日期:

代码语言:javascript
复制
let myDate = new Date("2019-11-13T02:05:00Z");  // the value you gave in the question
let s = myDate.toLocaleDateString('en-US', { timeZone: 'America/Los_Angeles' })
//=> "11/12/2019"

如果您只想要一个月中的数字日,可以从那里的字符串中提取它。

代码语言:javascript
复制
+(s.split('/')[1])   //=> 12
票数 1
EN

Stack Overflow用户

发布于 2020-12-26 18:29:19

2020年最新情况

到2020年12月11日,节点14已经进入火基测试版,您应该可以这样做了。

代码语言:javascript
复制
process.env.TZ = 'America/Los_Angeles'
票数 4
EN

Stack Overflow用户

发布于 2019-11-13 15:45:37

无法在云函数服务器实例上配置时区。

如果您的代码完全不依赖于本地时区配置,情况会更好。如果您需要您的日期逻辑来格式化特定时区的日期,则应该使用一个知道如何进行此操作的库,例如“瞬间”。它具有全面的数据操作实用程序,并且对时区有一个加注。https://momentjs.com/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58832296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档