【发布时间】:2012-07-30 15:49:19
【问题描述】:
我编写了一个使用 Google Apps Script JDBC 对象在 mySQL 数据库中存储日期(日期类型字段)的独立脚本。日期的时区是 UTC。
我做了一个选择所有日期的查询,例如:
从Table1中选择Date1
当我使用 GetObject(1) 检索数据时,它返回一个设置了 PDT 时区的 Date 对象。 更准确地说,当我提示 theDate.toString() 时,它给了我: 2012 年 7 月 30 日星期一 23:51:25 GMT+0200 (CEST) 我注意到来自 db 的原始日期(2012-07-30 14:51:25)已被视为 PDT 并转换为 GMT+2。
脚本时区不相关,设置为 GMT+1...
我如何告诉 JDBC 数据库中的日期是 UTC?
谢谢
【问题讨论】:
-
我假设脚本的时区设置为 PDT。尝试在脚本编辑器->文件->项目属性->信息选项卡->时区中将时区更改为格林威治标准时间。
-
你的意思是
java.util.Date?你怎么知道它是 PDT 而不是 UTC? -
不,不是 Java 的日期,而是您的 Google Apps 脚本的时区。打开 GAS 编辑器,点击 File->Project Properties->Info Tab->Time Zone 并在 Time Zone 组合中选择 GMT。
-
对不起,我应该在第一条消息中提到这一点。脚本的时区不相关,目前设置为法国时区 GMT+1。
-
@ThierryChevillard:请回答 Tomasz 的问题。你怎么知道它是PDT? java.util.Date 没有任何时区。只有当您显示日期时,日期格式化程序/打印机才会使用时区以可读格式显示日期。