我有一個問題,我有一個MySQL數據庫存儲日期和時間在單獨的列。但是,在Java代碼中,我需要從數據庫中以分鐘,小時或天計算日期和時間的結果時間戳,然後更新數據庫中的相應列。增加Java.sql.date/time的最佳方法是什麼?
我目前在Java中使用Java.sql.date和java.sql.time類型。任何人都可以爲此提出最佳方法嗎?
我可以通過以下實現上述:
public static String addToDateTime(String timestampIn, String increment) {
// Decompose timestamp.
int year = Integer.parseInt(timestampIn.substring(0, 4));
int month = Integer.parseInt(timestampIn.substring(5, 7));
int day = Integer.parseInt(timestampIn.substring(8, 10));
int hours = Integer.parseInt(timestampIn.substring(11, 13));
int mins = Integer.parseInt(timestampIn.substring(14, 16));
int secs = Integer.parseInt(timestampIn.substring(17, 19));
Calendar calendar = new GregorianCalendar(year, month - 1, day, hours, mins, secs);
// Increment timestamp.
if (increment.equals("HOURLY")) {
calendar.add(Calendar.HOUR, 1);
}
else if (increment.equals("DAILY")) {
calendar.add(Calendar.HOUR, 24);
}
else if (increment.equals("WEEKLY")) {
calendar.add(Calendar.HOUR, 168);
}
else if (increment.equals("DO NOT POLL")) {
// Do nothing.
}
// Compose new timestamp.
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String timestampOut = sdf.format(calendar.getTime());
return timestampOut;
}
但寧可少一些原始。
感謝
摩根先生
我喜歡這個。雖然可以用實際的Java sql.date和Java.sql.time變量替換變量timestampin嗎?我想消除轉換爲字符串,然後從字符串結束。 – 2010-06-04 20:16:10
或者對目前我做的空間使用子串測試。 – 2010-06-04 20:39:30