время java.util.date отличается от системного времени - PullRequest
4 голосов
/ 04 сентября 2011

Мое системное время - 12:23, но если я пытаюсь отобразить время с помощью обычного кода Java;

Date dt = new Date();
System.out.println("date is "+dt);

У меня другое время: date is Mon Sep 05 01:23:18 BDST 2011 Помогите мне.

Ответы [ 4 ]

1 голос
/ 10 июля 2013

JDK 6 имеет проблемы с датой.Когда я установил JDK 7 проблема решена.

1 голос
/ 04 сентября 2011

Это немного запутанно, но вы могли бы сделать следующее (очевидно, заменив часовой пояс):

Calendar cal = Calendar.getInstance( TimeZone.getTimeZone("America/Los_Angeles") );
Date dt = cal.getTime();

System.out.println( dt);

Я не пробовал, но у меня есть ощущение, что это может сработать!Date всегда инициализируется в UTC.

1 голос
/ 04 сентября 2011

Это сейчас правильно?

Date dt = new Date();
System.out.println(DateFormat.getDateTimeInstance().format(dt));

Является ли BDST ( Британское двойное летнее время ) вашим часовым поясом (GMT +01: 00)?

0 голосов
/ 04 сентября 2011

Это может помочь ...

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());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...