java-time相关内容
我正在使用Java 8中的新java.time包。我有一个遗留数据库,它给了我 java.util.Date ,我转换为即时。 我要做的是添加一段基于另一个数据库标志的时间。我可以添加几天,几周,几个月或几年。我不想关心我要添加的内容,我希望将来可以添加更多选项。 我的第一个想法是 Instant.plus(),但是对于大于一天的值,这给了我一个 UnsupportedTemporal
..
我有一个LocalDate需要获取该月的第一天和最后一天。 我该怎么做? 例如。 13/2/2014 我需要以LocalDate格式获得1/2/2014和28/2/2014。 使用threeten LocalDate类。 解决方案 只需使用 withDayOfMonth , lengthOfMonth() : LocalDate initial = LocalDat
..
为什么 ZonedDateTime now = ZonedDateTime.now(); System.out.println(now.withZoneSameInstant(ZoneOffset.UTC) .equals(now.withZoneSameInstant(ZoneId.of(“UTC”)))); 打印 false ? 我希望两个 Zoned
..
我有一个外部API,我的日期为 long s,表示为自Epoch以来的毫秒数。 With旧式Java API,我只需用它构建一个 Date Date myDate = new Date(startDateLong) Java 8中的等价物 LocalDate / LocalDateTime classes? 我有兴趣转换点在我当前的当地时区,由长到
..
如果我使用以下方法计算 java.time 中2 LocalDate 之间的差异: 期间p =期间。(testDate,今天); 然后我得到一个年,月,天数的输出: 天= 9 月份= 6 年= 18 有没有人知道一种干净的方式来表示它作为十进制类型值(即,上面将是 18.5 ... ) 解决方案 我会避免使用Period,而只是计算天数
..
String ip =“2011-05-01T06:47:35.422-05:00”; ZonedDateTime mzt = ZonedDateTime.parse(ip).toInstant()。atZone(ZoneOffset.UTC); System.out.println(mzt); System.out.println(“-----”); String ip
..
我将日期存储在 UTC 中并显示在用户时区中。但是,当我试图只在没有时间的情况下存储它时会误导到不同的日期。 例如:2016年5月6日(2016年5月6日)的计划活动。此日期对于没有时区的所有地区都是唯一的。如果GMT + 5:30时区的用户试图在 05/06/2016 上添加活动,那么ISO-8601格式为 2016-05-05T16:00:00.000Z 和毫秒 146246400000
..
我的格式时间戳 2017-18-08 11:45:30.345 。 我想把它转换为纪元时间,所以我在下面做: String timeDateStr =“2017-18-08 11:45:30.345”; DateTimeFormatter dtf = DateTimeFormatter.ofPattern(“yyyy-dd-MM HH:mm:ss.SSS”); ZonedDa
..
是否可以找到给定时区缩写的时区ID列表?例如,对于缩写 IST ,时区ID为亚洲/耶路撒冷,亚洲/ Kolkata 和欧洲/都柏林。 解决方案 从你的JVM中获取它们。 在网上找到它们。 从JVM获取区域: String givenAbbr =“IST”; LocalDateTime summerSouthernHemisphere = LocalDate.of(2
..
用户将以不同的模式输入日期到我的应用程序。对于2位数年份,他还必须确定生产日期。 示例: pattern = yy-MM-dd pivot date = 70 (我添加了当前的千年和上个世纪的更多内容动态编程=> 1970 ) 69-04-22 变为 2069-04-22 70-04-22 成为 1970-04-22 如此答案中所述,很容易构建 DateTime
..
我尝试使用以下格式解析日期: ddYYYY 。例如,我有字符串 141968 ,我想知道 day = 14 和 year = 1968 。 我想我必须直接使用 TemporalAccessor 给出通过 DateTimeFormatter.parse(String),但我找不到如何使用此结果。在调试时,我看到结果是 java.time.Parsed ,它不是公共的,但在字段中包含我想要的信息
..
我需要将以下格式的字符串 2015-01-15-05:00 解析为UTC中的LocalDate(或其他)。 问题是以下代码: System.out.println(LocalDate.parse(“2015-01”) -15-05:00“,DateTimeFormatter.ISO_OFFSET_DATE)); 输出 2015-01-15 忽略偏移。所需的输出是 201
..
LocalDateTime.parse(“20150901023302166”,DateTimeFormatter.ofPattern(“yyyyMMddHHmmssSSS”)) 给出错误: java.time.format.DateTimeParseException:无法解析文本'20150901023302166'在索引0 解决方案 解决
..
我需要预测下一个至少2个时区转换何时适用于特定时区。 Java 8提供新的 java。时间 API,特别是 java.time.zone 。 ZoneRules.getTransitions()看起来正是我需要的,但它没有列出2010年以后“澳大利亚/悉尼”的任何内容。 确定下2个时区转换的日期/时间/偏移的最可靠方法是什么? 解决方案 方法 ZoneRules.getTran
..
当我使用 SimpleDateFormat 时,它可以解析。 SimpleDateFormat format = new SimpleDateFormat(“yyyyMM”); format.setLenient(false); 日期d = format.parse(日期); 但是当我使用Java 8 DateTimeFormatter 时, Date
..
我想用 LocalDateTime 解析'2015-10-01'。我要做的是 LocalDate localDate = LocalDate.parse('2015-10-01'); LocalDateTime localDateTime = localDateTime.of(localDate,LocalTime.MIN); 但是我想在一遍中解析它,比如
..
请建议是否有API支持以确定我的时间是否介于2 LocalTime 实例之间,或建议采用其他方法。 我有这个实体: class Place { LocalTime startDay; LocalTime endDay; } 存储工作日的开始和结束时间,即从'9:00开始'直到'17'',或者从'22:00'到'5:00'的夜总会。 我需要实现一个
..
我正在尝试将来自前端的值映射到 ZoneId 类,如下所示: Optional.ofNullable(timeZone).map(ZoneId :: of).orElse(null) 对于大多数时区,它工作正常,但是,对于某些值,Java抛出异常: java.time.zone.ZoneRulesException:未知时区ID:America / Punta_A
..
我使用JAX-RS方法注释创建了一个RESTful Web服务: @GET @Path(“ / test“) @Produces(MediaType.APPLICATION_JSON) public MyThing test() { MyThing myObject = new MyThing(LocalDateTime.now()); 返回myObject; }
..
我正在探索Java 8的新java.time API。我特别想检索当前时间(我当前的时区,不同的时区和不同的偏移量)。 代码是: public static void getCurrentLocalTime(){ LocalTime time = LocalTime.now(); System.out.println(“本地时区:”+ ZoneId.systemDefault(
..