我使用的是PostgreSQL 8.4,服务器是linux,而linux的时区is'EDT‘不是'UTC’。PostgreSQL的配置使数据库的时区变为“UTC”。代码运行在JBoss9上。
我有一个sql,select to_char(ts_entry.submitted_date, 'MM/DD/YYYY HH24:MM') as submitted_date_format from ts_entry where ....
如果我们在PostgreSQL中运行sql,我们将得到"07/10/2017 02:07“值。
但是当我试图从java中的res
下面是一个示例:
root@linux:~# timedatectl
Local time: Thu 2016-03-31 08:33:23 CEST
Universal time: Thu 2016-03-31 06:33:23 UTC
RTC time: n/a
Time zone: Africa/Ceuta (CEST, +0200)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: yes
Last DST change:
这段代码在Windows中工作正常,但在Linux中抛出一个java.text.ParseException:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", new Locale("es", "ES"));
df.setLenient(false);
Date date = df.parse("1901-01-01 00:00:00");
System.out.println(date);
Windows输出:
Tue Jan 01 00:00:00 CET
我正在尝试设置基于WindowsNanoserver2019Build 1809年的WindowsContainer的时区。
对于linux容器,最简单的方法之一是设置TimeZone环境变量,如下所示:
docker run -e TZ=Asia/Kolkata ubuntu date
对于Windows容器,我们有类似的东西吗?基于一般的windows方法,我尝试使用PowerShell like (如下面所示)在入口点脚本中设置它,但它也给了我一个错误。
Set-TimeZone -Name "India Standard Time"
Set-TimeZone : Acc