All
У меня тяжелый рабочий день в офисе ... Я пытаюсь начать день с начала по местному времени, то есть с полуночи 00:00:00, учитывая любую календарную дату.
Учитывая следующие дни, я хочу вычислить начало дня по местному времени в полночь:
Time Start Day (Local) Start Day (GMT)
2011-03-27 00:00:00 GMT --> 2011-03-27 00:00:00 GMT --> 2011-03-27 00:00:00 GMT
2011-03-27 01:00:00 GMT --> 2011-03-27 00:00:00 GMT --> 2011-03-27 00:00:00 GMT
2011-03-27 02:00:00 GMT --> 2011-03-27 00:00:00 GMT --> 2011-03-27 00:00:00 GMT
2011-04-01 00:00:00 BST --> 2011-04-01 00:00:00 BST --> 2011-03-31 23:00:00 GMT
2011-10-30 00:00:00 BST --> 2011-10-30 00:00:00 BST --> 2011-10-29 23:00:00 GMT
2011-10-30 01:00:00 BST --> 2011-10-30 00:00:00 BST --> 2011-10-29 23:00:00 GMT
2011-10-30 01:00:00 GMT --> 2011-10-30 00:00:00 BST --> 2011-10-29 23:00:00 GMT
2011-11-01 00:00:00 GMT --> 2011-11-01 00:00:00 GMT --> 2011-11-01 00:00:00 GMT
В настоящее время я анализирую String Time в GregorianCalendar с использованием SimpleDateFormat. Это дает мне время по Гринвичу / UTC для расчета.
Итак, у меня есть некоторый код, который анализирует строку в GregorianCalendar:
public GregorianCalendar getCalendar(String dateTime) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(sdf.parse(dateTime, new ParsePosition(0)));
return cal;
}
Теперь мне нужно установить локальную полночь:
public void setToStartOfDayLocally(GregorianCalendar cal) {
????
}
Я не слишком уверен, что мне нужно делать в минуту с Календарем. К сожалению, мы не переезжаем на свидание JODA в ближайшее время. Я также не учитываю различные часовые пояса с моим примером.
Есть мысли?
Спасибо
Andez