次のJavaコードで、1969年12月31日午後7時からの秒を日付/時刻に変換したいと考えています。
package sampProp;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
import java.util.TimeZone;
public class sample
{
public static void main(String args[])
{
//Here 1373605580 is the number os secs from DEC 31ST 1969 7 PM
long millisecs = (long)(1373605580) *1000;
DateFormat df = new SimpleDateFormat("MM/dd/yyyy_HH:mm:ss a");
df.setTimeZone(TimeZone.getTimeZone("EST"));
Date d1 = new Date(millisecs);
String formattedDate = df.format(d1);
System.out.println("Formatted date is "+formattedDate);
}
}
AIX サーバーでコードを実行しています。
開発サーバーは07/12/2013_00:06:20
正しい値を提供しますが、実稼働サーバーは07/12/2013_01:06:20
正しくない値を提供します。
これはどのように可能ですか。そして、どうすればこれを修正できますか。
私の開発サーバーのJavaバージョンの出力は次のとおりです。
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pap64dev-20071008 (SR6))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc64-64 j9vmap6423-20071007 (JIT enabled)
J9VM - 20071004_14218_BHdSMr
JIT - 20070820_1846ifx1_r8
GC - 200708_10)
JCL - 20071008
そして、私の本番サーバーの Java バージョンの出力は次のとおりです。
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build pap64dev-20080315 (SR7))
IBM J9 VM (build 2.3, J2RE 1.5.0 IBM J9 2.3 AIX ppc64-64 j9vmap6423-20080315 (JIT enabled)
J9VM - 20080314_17962_BHdSMr
JIT - 20080130_0718ifx2_r8
GC - 200802_08)
JCL - 20080314