คำถามติดแท็ก java-time

แพ็กเกจ java.time เป็นเฟรมเวิร์กวันเวลาที่ทันสมัยที่เปิดตัวใน Java 8 ซึ่งกำหนดโดย JSR 310 โดยแทนที่คลาส java.util.Date และ. ปฏิทิน ได้รับแรงบันดาลใจจาก Joda-Time แต่ได้รับการออกแบบใหม่ โดยใช้มาตรฐาน ISO 8601 เป็นค่าเริ่มต้นสำหรับการแยกวิเคราะห์และสร้างสตริงและรวมถึงคลาสเพื่อแสดงค่าวันที่เท่านั้นเวลาของวันเท่านั้นและช่วงเวลา


8
การแปลงระหว่าง java.time.LocalDateTime และ java.util.Date
Java 8 มี API ใหม่อย่างสมบูรณ์สำหรับวันที่และเวลา หนึ่งในคลาสที่มีประโยชน์ที่สุดใน API นี้คือLocalDateTimeสำหรับเก็บค่าวันที่แบบไม่ขึ้นกับเขตเวลา อาจมีหลายล้านบรรทัดของรหัสโดยใช้คลาสดั้งเดิมjava.util.Dateสำหรับวัตถุประสงค์นี้ เช่นนี้เมื่อทำการเชื่อมต่อโค้ดเก่าและใหม่จะต้องมีการแปลงระหว่างทั้งสอง ดูเหมือนจะไม่มีวิธีการโดยตรงในการทำสิ่งนี้ให้สำเร็จจึงจะทำได้อย่างไร


6
วิธีการแยก / จัดรูปแบบวันที่ด้วย LocalDateTime (Java 8)
Java 8 เพิ่มjava.timeใหม่ APIสำหรับการทำงานกับวันที่และเวลา ( JSR 310 ) ฉันมีวันที่และเวลาเป็นสตริง (เช่น"2014-04-08 12:30") ฉันจะได้รับLocalDateTimeอินสแตนซ์จากสตริงที่กำหนดได้อย่างไร หลังจากฉันทำงานกับLocalDateTimeวัตถุเสร็จแล้ว: ฉันจะแปลงLocalDateTimeอินสแตนซ์กลับเป็นสตริงด้วยรูปแบบเดียวกับที่แสดงข้างต้นได้อย่างไร

9
วิธีรับมิลลิวินาทีจาก LocalDateTime ใน Java 8
ผมสงสัยว่าถ้ามีวิธีที่จะได้รับในปัจจุบันมิลลิวินาทีตั้งแต่ 1970/01/01 (ยุค) โดยใช้ใหม่LocalDate, LocalTimeหรือLocalDateTimeชั้นเรียนของ Java 8 วิธีที่ทราบอยู่ด้านล่าง: long currentMilliseconds = new Date().getTime(); หรือ long currentMilliseconds = System.currentTimeMillis();

3
ความแตกต่างระหว่าง Java 8 Date Time API (java.time) และ Joda-Time
ฉันรู้ว่ามีคำถามที่เกี่ยวข้องกับjava.util.Dateและ Joda-Time แต่หลังจากการขุดบางอย่างผมไม่สามารถหาหัวข้อเกี่ยวกับความแตกต่างระหว่างที่java.time API (ใหม่ในJava 8กำหนดโดยJSR 310 ) และJoda เวลา ฉันได้ยินมาว่า java.time API ของ Java 8 นั้นสะอาดกว่าและสามารถทำได้มากกว่า Joda-Time แต่ฉันไม่สามารถหาตัวอย่างเปรียบเทียบทั้งสองได้ java.time ทำอะไรได้บ้างที่ Joda-Time ไม่สามารถทำได้? java.time ทำอะไรได้ดีกว่า Joda-Time ประสิทธิภาพดีขึ้นด้วย java.time หรือไม่

13
คำนวณวันระหว่างสองวันใน Java 8
ฉันรู้ว่ามีคำถามมากมายเกี่ยวกับวิธีการรับ แต่ฉันต้องการและตัวอย่างโดยใช้ Java 8 Date API ใหม่ ฉันรู้จักห้องสมุด JodaTime ด้วย แต่ฉันต้องการวิธีการทำงานที่ไม่มีห้องสมุดภายนอก ฟังก์ชั่นต้องบ่นด้วยข้อ จำกัด เหล่านี้: ป้องกันข้อผิดพลาดจากการบันทึกวันที่ อินพุตเป็นวัตถุสองวันที่ (โดยไม่มีเวลาฉันรู้ว่าในช่วงเวลาท้องถิ่น แต่ฉันต้องทำกับอินสแตนซ์วันที่)

7
จัดรูปแบบทันทีเป็นสตริง
ฉันพยายามจัดรูปแบบสตริงเป็นสตริงโดยใช้ java 8 time-api ใหม่และรูปแบบ: Instant instant = ...; String out = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(instant); ใช้รหัสข้างต้นฉันได้รับการยกเว้นซึ่งบ่นว่าฟิลด์ไม่ได้รับการสนับสนุน: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: YearOfEra at java.time.Instant.getLong(Instant.java:608) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) ...

16
ทำให้เป็นอันดับ / deserialize java 8 java.time ด้วย mapper แจ็คสัน JSON
ฉันจะใช้ mapper Jackson JSON กับ Java 8 LocalDateTime ได้อย่างไร org.codehaus.jackson.map.JsonMappingException: ไม่สามารถยกตัวอย่างค่าของประเภท [ประเภทที่เรียบง่าย, คลาส java.time.LocalDateTime] จาก JSON String; ไม่มีตัวสร้างสตริงเดี่ยว / วิธีการของโรงงาน (ผ่านสายอ้างอิง: MyDTO ["field1"] -> SubDTO ["date"])
221 jackson  java-time 

6
ฉันจะสร้าง Java 8 LocalDate จากเวลาที่ยาวนานเป็นมิลลิวินาทีได้อย่างไร
ฉันมี API ภายนอกที่ให้วันที่ฉันเป็นlongs แสดงเป็นมิลลิวินาทีนับตั้งแต่เริ่มยุค ด้วย Java API แบบเก่าฉันก็แค่สร้างDateจากมันด้วย Date myDate = new Date(startDateLong) อะไรคือสิ่งที่เทียบเท่าใน Java 8's LocalDate/ LocalDateTimeคลาส? ฉันสนใจที่จะแปลงเวลาlongให้เป็น a LocalDateในเขตเวลาปัจจุบันของฉัน

1
ความแตกต่างระหว่าง ZonedDateTime และ OffsetDateTime คืออะไร
ฉันอ่านเอกสารแล้ว แต่ฉันยังไม่สามารถรับได้เมื่อฉันควรใช้อย่างใดอย่างหนึ่ง: OffsetDateTime ZonedDateTime ตามเอกสารOffsetDateTimeควรใช้เมื่อเขียนวันที่ไปยังฐานข้อมูล แต่ฉันไม่เข้าใจสาเหตุ
155 java  java-8  java-time 


10
รับวันแรกและวันสุดท้ายของเดือนโดยใช้ threeten, LocalDate
ฉันมี LocalDate ซึ่งจำเป็นต้องได้รับวันแรกและวันสุดท้ายของเดือน ฉันจะทำอย่างไร? เช่น. 13/2/2014 ฉันต้องการรับ1/2/2014และ28/2/2014ในรูปแบบLocalDate ใช้คลาส LocalDate ที่สาม
127 java  date  java-time 

1
ทำไม ZoneOffset.UTC! = ZoneId.of (“ UTC”)
ทำไม ZonedDateTime now = ZonedDateTime.now(); System.out.println(now.withZoneSameInstant(ZoneOffset.UTC) .equals(now.withZoneSameInstant(ZoneId.of("UTC")))); พิมพ์ออกมาfalse? ฉันคาดหวังว่าทั้งสองZonedDateTimeอินสแตนซ์จะเท่ากัน

3
ฟอร์แมต LocalDateTime ด้วย Timezone ใน Java8
ฉันมีรหัสง่ายๆนี้: DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyyMMdd HH:mm:ss.SSSSSS Z"); LocalDateTime.now().format(FORMATTER) จากนั้นฉันจะได้รับข้อยกเว้นดังต่อไปนี้: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: OffsetSeconds at java.time.LocalDate.get0(LocalDate.java:680) at java.time.LocalDate.getLong(LocalDate.java:659) at java.time.LocalDateTime.getLong(LocalDateTime.java:720) at java.time.format.DateTimePrintContext.getValue(DateTimePrintContext.java:298) at java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser.format(DateTimeFormatterBuilder.java:3315) at java.time.format.DateTimeFormatterBuilder$CompositePrinterParser.format(DateTimeFormatterBuilder.java:2182) at java.time.format.DateTimeFormatter.formatTo(DateTimeFormatter.java:1745) at java.time.format.DateTimeFormatter.format(DateTimeFormatter.java:1719) at java.time.LocalDateTime.format(LocalDateTime.java:1746) จะแก้ไขปัญหานี้ได้อย่างไร?
121 java  java-8  java-time 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.