我的系统时间是上午12:23,但如果我尝试使用普通的java代码显示时间;
Date dt = new Date();
System.out.println("date is "+dt);
我的时间不同了:date is Mon Sep 05 01:23:18 BDST 2011
帮助我。
答案 0 :(得分:1)
现在是否正确?
Date dt = new Date();
System.out.println(DateFormat.getDateTimeInstance().format(dt));
BDST
(英国双夏时间)您的时区(GMT +01:00)?
答案 1 :(得分:1)
这有点令人费解,但你可以做以下事情(显然可以替换你的时区):
Calendar cal = Calendar.getInstance( TimeZone.getTimeZone("America/Los_Angeles") );
Date dt = cal.getTime();
System.out.println( dt);
我没试过,但我觉得这可能会奏效! Date
将始终初始化为UTC。
答案 2 :(得分:1)
Jdk 6有日期问题。当我安装jdk 7问题解决了。
答案 3 :(得分:-1)
这可能会有所帮助......
import java.util.Calendar;
import java.text.SimpleDateFormat;
public class DateUtils {
public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
public static String now() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
return sdf.format(cal.getTime());
}
public static void main(String arg[]) {
System.out.println("Now : " + DateUtils.now());
}
}