我有這個Time
對象:如何將30分鐘添加到java.sql.Time對象?
Time myTime = java.sql.Time.valueOf("15:33:00");
我如何在Java中添加30分鐘myTime
?這意味着新的時間將是16時03分00秒
我有這個Time
對象:如何將30分鐘添加到java.sql.Time對象?
Time myTime = java.sql.Time.valueOf("15:33:00");
我如何在Java中添加30分鐘myTime
?這意味着新的時間將是16時03分00秒
java.sql.Time myTime = java.sql.Time.valueOf("15:33:00");
LocalTime localtime = myTime.toLocalTime();
localtime = localtime.plusMinutes(30);
String output = localtime.toString();
你可以得到LOCALTIME從java.sql.Time中的直線距離並且您可以在LocalTime Api中使用plusMinutes來添加30分鐘。這可能會幫助你檢查這個
好的答案,除了命名一個'LocalTime'對象的「日期」是令人困惑的。爲什麼不叫它「localTime」? –
我將日期更改爲本地時間。 :D:D – Priyamal
謝謝,正是我需要的。它解決了我的問題。 –
這裏有一個簡單的方法來做到這一點,利用java.time.LocalDateTime
:
package time;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalField;
/**
* Created by Michael
* Creation date 4/24/2016.
* @link
*/
public class TimeDemo {
public static void main(String[] args) {
// Three three lines do the work
LocalDateTime localDateTime = LocalDateTime.of(2016, 4, 24, 9, 10);
LocalDateTime halfHourLater = localDateTime.plusMinutes(30); // Add 30 minutes
java.sql.Time sqlDateTime = new java.sql.Time(halfHourLater.toInstant(ZoneOffset.UTC).toEpochMilli()); //
// Printout just to check
System.out.println(DateTimeFormatter.ofPattern("yyyy-MMM-dd hh:mm:ss.SSS").format(halfHourLater));
System.out.println("java.time milliseconds: " + halfHourLater.toInstant(ZoneOffset.UTC).toEpochMilli());
System.out.println("System.currentMillis : " + System.currentTimeMillis());
}
}
這個答案中沒有必要使用日期時間。這個問題只適用於每日時間([java.sql.Time](http://docs.oracle.com/javase/8/docs/api/java/sql/Time.html)) –
如果你使用的是JDK8,我建議你看看新的java.time包。這很容易。 – duffymo
我無法使用它。我必須使用java.sql.Time –
您使用的是哪個版本的Java?你能提供更多的上下文嗎?是否可以簡單地通過SQL在數據庫引擎中進行時間數學計算? –