【发布时间】:2018-09-23 04:24:00
【问题描述】:
需要帮助确定问题出在哪里,是 java 问题还是 linux 机器或其他问题。
我的应用程序在 linux weblogic 上运行,应用程序正在 linux 上生成某种 .tar 文件,文件名中带有 datetimestamp。
我正在使用下面的 sn-p 来获取当前准备文件名的时间:
String dateTimeStamp = new SimpleDateFormat("yyyyMMdd-HHmmss").format(Calendar.getInstance().getTime());
文件格式:SA_PART_YYYYMMDD-HHMMSS_sequence.tar
以下是来自 linux box 的文件:如果你仔细观察,HH(小时)部分在 13 到 12 到 13 到 12 到 14 到 13 之间切换。分钟和秒之间没有大的区别。
我需要了解为什么 HH 在这里打印错误?
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:45 SA_PART_20180412-134347_6000010739.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:45 SA_PART_20180412-134351_6000010740.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:45 SA_PART_20180412-124355_6000010741.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:45 SA_PART_20180412-124357_6000010742.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:47 SA_PART_20180412-134523_6000010743.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:47 SA_PART_20180412-134526_6000010744.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:47 SA_PART_20180412-124531_6000010745.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 17:47 SA_PART_20180412-124531_6000010746.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 18:17 SA_PART_20180412-141524_6000010747.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 18:17 SA_PART_20180412-141528_6000010748.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 18:17 SA_PART_20180412-131531_6000010749.tar
-rw-rw-rw- 1 med1 temp1 20480 Apr 12 18:17 SA_PART_20180412-131533_6000010750.tar
【问题讨论】:
-
您传递给
SimpleDateFormat的实际Date值是多少? -
它的 Calendar.getInstance().getTime() -> 获取当前系统日期和时间
-
是的,我明白这一点,但是传递给
SimpleDateFormat的“实际”值是多少。如果您不知道输入是什么,就没有必要抱怨输出 -
我没有实际值,但我在这里知道的是 - 输入是当前系统日期和时间,将由 Calendar.getInstance().getTime() 返回,输出相同.
-
快速更新:问题是 cluser linux 盒子之一指向错误的时区,因此小时部分的差异。问题解决无需采取任何行动。谢谢
标签: java linux unix calendar timestamp