как я могу установить значение времени 00:00:00 в формате даты, например, вторник, 28 декабря, 17:36:28 IST 2010? - PullRequest
0 голосов
/ 29 декабря 2010

Я использую Java, и я пробую приведенный ниже фрагмент кода

Calendar cal1 = Calendar.getInstance();  
cal.setTime(now1);
cal1.add(Calendar.DAY_OF_YEAR, -1);  
java.util.Date yesterday = (Date) cal1.getTime();  
System.out.println(yesterday.toString());
java.sql.Timestamp yesterdayTimestamp = new java.sql.Timestamp(tomorrow.getTime());
System.out.println(yesterdayTimestamp.toString()); 

, который выдает мне вывод как Tue Dec 28 17:36:28 IST 2010 Теперь я хочу установить для этого времени значение 00:00:00 затемTue Dec 28 17:36:28 IST 2010 будет Tue Dec 28 00:00:00 IST 2010

Я не понимаю, как это сделать?

Ответы [ 4 ]

5 голосов
/ 29 декабря 2010

Если я правильно понимаю проблему, вы хотите установить для полей, связанных со временем, значение 0.

        Calendar cal1 = Calendar.getInstance();  
        cal1.set(Calendar.HOUR_OF_DAY, 0);
        cal1.set(Calendar.MINUTE, 0);
        cal1.set(Calendar.SECOND, 0);
        cal1.set(Calendar.MILLISECOND, 0);
        System.out.println(cal1.getTime());

Выход

Wed Dec 29 00:00:00 IST 2010
3 голосов
/ 29 декабря 2010

Вам необходимо установить отдельные элементы компонента времени.

http://download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#set(int, int)

cal1.set(Calendar.HOUR_OF_DAY, 0);
cal1.set(Calendar.MINUTE, 0);
cal1.set(Calendar.SECOND, 0);
1 голос
/ 29 декабря 2010

В вашем календаре вы можете установить соответствующие поля в 0: cal.set(Calendar.HOUR_OF_DAY, 0).

В качестве альтернативы вы можете использовать joda-time , который имеет DateMidnight класс для этой цели.

Кстати, как отмечено в комментариях - используйте форматтер.SimpleDateFormat например.Вы не должны полагаться на toString() представление объекта.

1 голос
/ 29 декабря 2010

если вам просто нужна дата, а не время, вы должны использовать java.sql.Date.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...