使用JDK 1.8 我有一天的時間(不是自1970年以來),我有一個日期我如何添加兩個並創建一個日期時間。Java如何添加時間和日期
感謝 試圖@Kikos SOLN不會產生正確的結果: 不知怎的,我的原稿時間930個小時,在這種情況下更改爲9:40時,原稿日期本身不應該有任何時間獲取時間(??) - 這樣的加法數學失敗。
String testdate = "2015/10/25";
Date date = new SimpleDateFormat("yyyy/mm/dd").parse(testdate);
String timehrs= "930";
long ltime = Long.parseLong("930");
long hoursAsSeconds = (ltime/100) * 60 * 60;
long minsAsSeconds = (ltime % 100) * 60;
long secondsOfDay = hoursAsSeconds + minsAsSeconds;
System.out.println("testdate : "+ testdate +", timehrs: "+timehrs+" ,secondsOfDay: "+secondsOfDay);
System.out.println("Orig Date time formatted: "+ new SimpleDateFormat("yyyy-mm-dd hh:mm:ss").format(date));
Date dt = new Date(date.getTime() + secondsOfDay*1000);
System.out.println("New Date : "+ new SimpleDateFormat("yyyy-mm-dd hh:mm:ss").format(dt);
testdate:2015年10月25日,timehrs:930,secondsOfDay:34200 原稿日期時間格式:2015年10月25日12時10分零零秒 新日期:2015-40-25 9時四十分00秒
預期:2015年10月25日9時30分○○秒
通過@Basil布爾克基於下面
長nanosOfDay = TimeUnit.MILLISECONDS.toNanos(secondsOfDay * 1000);
本地時間LT = LocalTime.ofNanoOfDay(nanosOfDay); ZoneId z = ZoneId.systemDefault(); ZonedDateTime ZDT = ZonedDateTime.of(A3,A4,Z);的System.out.println( 「ZonedDateTime ZDT:」 + ZDT);
ZonedDateTime ZDT:2015-10-25T09:30-07:00 [美國/洛杉磯]
這是正確的答案:2015-10-25T09:30
代碼示例。示例輸入和預期輸出請。 –
[java.time.LocalDateTime和java.util.Date之間的轉換]的可能重複(http://stackoverflow.com/questions/19431234/converting-between-java-time-localdatetime-and-java-utildate) – Flown
目前尚不清楚你有什麼。當你說「Date」時,你的意思是'java.util.Date'嗎?或者只是「約會」,如果那是什麼? *什麼是*一天中的毫秒數*意味着什麼? – Tunaki