У меня проблема с анализом только строки времени из моей базы данных
private static final String TIME_FORMAT = "HH:mm:ss";
public static final SimpleDateFormat timeFormat = new SimpleDateFormat(TIME_FORMAT, Locale.getDefault());
И после вывода:
String time = "17:17:57";
Date myParsedDate = timeFormat.parse(time); //forget the exception thing
//output of myParsedDate.toString = "Thu Jan 01 16:47:57 GMT+08:00 1970"
Кажется, что есть проблема с локалью или чем-то ... просто строкой .. Почему это так? я просто хочу, чтобы у даты было время, необходимое для выбора времени .. гы ..
Редактировать
Поскольку я использую статический формат времени, я решил использовать мой маленький вспомогательный метод
public static Date getTimeFromTimeString(String timeString)
{
String[] splitStrings = timeString.split(":");
Date timeDate = new Date();
timeDate.setHours(Integer.parseInt(splitStrings[0]));
timeDate.setMinutes(Integer.parseInt(splitStrings[1]));
timeDate.setSeconds(Integer.parseInt(splitStrings[2]));
return timeDate;
}
Спасибо за помощь, Джон Скит .. Я полагаю, что это смещение TimeZone вызывает это .. .. плохо придерживаться моего маленького метода ..