java-time相关内容
我有一个输入日期,格式为yyyy-MM-dd_HH:mm:ss.SSS,并将其转换为long这样: SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd_HH:mm:ss.SSS"); try { Date date = simpleDateFormat.par
..
我需要大量地将java.util.Date转换为yyyy-MM-dd格式的String. 我刚刚移到Java 8,想知道如何正确地做它. 我使用Java 7的解决方案是: DateTimeFormatter DATE_FORMATTER = DateTimeFormat.forPattern(DATE_FORMAT_PATTERN) DATE_FORMATTER.print(valu
..
我正在开发一个使用Java8 Time的应用程序.我面临一个问题. 让我们说时间A为08:00,时间B为17:00,所以这两个时间之间的时差为9h,在我的情况下是正确的,但是如果时间A为18:00而时间B为02 :00应该是8h,但就我而言,我的程序返回-16.请有人指导我如何解决这个问题. 我的代码: @Test public void testTime() { Dat
..
我正在将现有的应用程序从Joda-Time移植到Java 8 java.time. 我遇到了一个问题,其中解析包含“星期几"值的日期/时间字符串会触发我的单元测试中的异常. 解析时: 2016-12-21 20:50:25 12月星期三+0000 3 使用格式: yyyy'-'MM'-'dd' 'HH':'mm':'ss' 'EEEE' 'MMMM' 'ZZ' 'e
..
我正在尝试为当前实施的可选时间部分创建日期时间格式 import java.time.*; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.text.ParseException; /* Name of the class has t
..
我使用Java 8的新java.time实现,想知道将UTC输出到 CET 时间转换结果. ZonedDateTime utcTime = ZonedDateTime.of(2014, 7, 1, 8, 0, 0, 0, ZoneId.of("UTC")); ZonedDateTime cetTime = ZonedDateTime.ofInstant(utcTime.toInstant()
..
我正在尝试使用Java 8 DateTime API解析日期时间字符串. 要分析的字符串包含日期,月份,年份和AM/PM标记,例如17/02/2015 PM. 我使用以下模式:dd/MM/yyyy aa,并且我希望将解析的LocalDateTime时间部分设置为12:00:00或00:00:00,具体取决于AM/PM标记. 使用以前的java.text.SimpleDateFormat
..
我试图在特定的timeZone上获取当前实例,但是它无法按预期工作.有关如何执行此操作的任何想法? 这就是我所做的: Instant.now(Clock.system(ZoneId.of("America/Los_Angeles"))).truncatedTo(ChronoUnit.SECONDS) 但是,返回的即时时间始终是UTC.我更改了很多次ZoneID,但这始终是错误的.请
..
我想在下一个星期一(例如)星期一的日期/时间创建LocalDateTime的实例. Java Time API中是否有任何方法,还是应该计算当前日期和目标日期之间有多少天,然后使用LocalDateTime.of()方法? 解决方案 无需手动进行任何计算. 您可以使用调节器通过 TemporalAdjusters.next(dayOfWeek) : 返回下一个星期几调整器
..
我现在创建日期: ZoneId gmt = ZoneId.of("GMT"); LocalDateTime localDateTime = LocalDateTime.now(); LocalDate localDateNow = localDateTime.toLocalDate(); 然后我要以毫秒为单位返回该日期: localDateNow.atStartOfDay(gmt)
..
您能否说明一下如何为默认系统时区和给定时区获取以毫秒为单位的正确纪元时间. 放弃 1.时区:GMT + 3 2.以下代码段: import java.time.*; public class Main { public static void main(String[] args) { System.out.println(Loca
..
我有两个java.time.Instant对象 Instant dt1; Instant dt2; 我想从dt2获取时间(只有小时和分钟,没有日期),并将其设置为dt1.最好的方法是什么?使用 dt2.get(ChronoField.HOUR_OF_DAY) 引发java.time.temporal.UnsupportedTemporalTypeException 解决
..
在Java 8的LocalDate和XMLGregorianCalendar之间转换的最佳方法是什么? 解决方案 从LocalDate转换为XMLGregorianCalendar: LocalDate date = LocalDate.now(); GregorianCalendar gcal = GregorianCalendar.from(date.atStartOfDay(Z
..
我希望从我的项目中删除Joda-Time库. 我正在尝试将两位数字年份转换为全年.以下来自Joda-Time的代码可以实现此目的.以下是joda-time的以下代码 DateTimeFormatter TWO_YEAR_FORMATTER = DateTimeFormat.forPattern("yy"); int year = LocalDate.parse("99"", TWO_Y
..
在大多数情况下,这两种方法彼此相反: Temporal Temporal.plus(long, TemporalUnit) long Temporal.until(Temporal, TemporalUnit) 例如,从1月1日开始 System.out.println("1-JAN plus 1 month: " + LocalDate.of(2017, 1, 1).
..
我试图将当前时间增加几年.我的代码如下: // ten yeas ago int backYears = 10; Instant instant = ChronoUnit.YEARS.addTo(Instant.now(), -backYears); 但是我有一个例外: java.time.temporal.UnsupportedTemporalTypeException: Uns
..
Java Date&中发生了变化. Java 9以来的Time API. 现在,LocalDateTime的精度为微秒. Java 9具有java.time.Clock的全新实现,能够以小于毫秒(十进制的三位数)的分辨率捕获当前时刻. 我们从后端服务获得的时间以微秒为单位. System.currentTimeMillis > 1565245051795 > 2019-0
..
我有一个Instant消息,根据规范,该消息应该是LocalDate,但在LocalDate中看不到任何用于转换的方法.最好的方法是什么? 解决方案 LocalDate.ofInstant(...); 我相信是在Java 9中添加的. LocalDateTime在Java 8中具有该方法. yourInstant.atZone(yourZoneId).toLocalDate()
..
以下代码: Instant inFourWeeks = Instant.now().plus(4L, ChronoUnit.WEEKS); 引发异常: java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Weeks 为什么不支持数周?我理解为什么不支持数月和数月,因为它们使用较小单位的持续
..
我想代表一个“营业日",例如发生在"2019年6月3日"的交易.我们完全为此目的而积极地忽略时区,因为我们充分了解到日本的"2019年6月3日"可能是美国的"2019年6月2日",因此“天"内的订购同样无关紧要.所有日期都是今天或以前的日期. 我的明显答案是这是一个LocalDate.但是,有人建议将其更好地表示为2019-06-03T00:00:00.000Z的Instant. 除了
..