相关疑难解决方法(0)

将java.util.Date转换为java.time.LocalDate

java.util.Date对象转换为新的JDK 8/JSR-310 的最佳方法是什么java.time.LocalDate

Date input = new Date();
LocalDate date = ???
Run Code Online (Sandbox Code Playgroud)

java datetime java-8 java-time

463
推荐指数
9
解决办法
39万
查看次数

LocalDate到java.util.Date,反之亦然最简单的转换?

有没有一种简单的方法将LocalDate(用Java 8引入)转换为java.util.Date对象?

通过'简单',我的意思是比这更简单:

Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎有点尴尬.

由于我们只对日期部分感兴趣,并且两个对象中都没有时区信息,为什么要明确引入时区?应该隐式采用午夜时间和系统默认时区进行转换.

java date java-8 java-time

115
推荐指数
4
解决办法
13万
查看次数

如何从LocalDate和LocalDateTime中提取纪元?

如何LongLocalDateTime或的实例中提取纪元值LocalDate?我尝试了以下内容,但它给了我其他结果:

LocalDateTime time = LocalDateTime.parse("04.02.2014  19:51:01", DateTimeFormatter.ofPattern("dd.MM.yyyy  HH:mm:ss"));
System.out.println(time.getLong(ChronoField.SECOND_OF_DAY)); // gives 71461
System.out.println(time.getLong(ChronoField.EPOCH_DAY)); // gives 16105
Run Code Online (Sandbox Code Playgroud)

我想要的只是1391539861本地日期时间的值"04.02.2014 19:51:01".我的时区是Europe/OsloUTC + 1,夏令时.

time epoch java-8 java-time

88
推荐指数
3
解决办法
9万
查看次数

在Java中处理MySQL日期时间和时间戳

在Java应用程序中,使用日期时间和时间戳的混合在MySQL数据库中提取和输入日期信息方面会有什么好处?

java mysql timestamp date jdbc

57
推荐指数
3
解决办法
11万
查看次数

将Date转换为LocalDate会在200AD左右返回奇怪的结果

在大约200年将Dates 转换为LocalDates时,我得到的结果不一致.使用以下代码进行转换:

  private LocalDate toLocalDate(Date localDate)
  {
    return LocalDateTime.ofInstant(localDate.toInstant(), ZoneId.systemDefault()).toLocalDate();
  }
Run Code Online (Sandbox Code Playgroud)

我的ZoneId.systemDefault()Africa/Harare,它与CAT测试中使用的相匹配.我运行的测试用例是

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
String dateString = "Tue Jan 01 00:00:00 CAT 200";
String dateString2 = "Tue Jan 01 00:00:00 CAT 201";
String dateString3 = "Wed Dec 31 00:00:00 CAT 200";

System.out.println(toLocalDate(simpleDateFormat.parse(dateString)));
System.out.println(toLocalDate(simpleDateFormat.parse(dateString2)));
System.out.println(toLocalDate(simpleDateFormat.parse(dateString3)));
Run Code Online (Sandbox Code Playgroud)

我的预期输出是

0200-01-01
0201-01-01
0200-12-31
Run Code Online (Sandbox Code Playgroud)

或者,如果不是这样,至少始终不正确的值.实际结果是

0199-12-31
0201-01-01
0200-12-31
Run Code Online (Sandbox Code Playgroud)

所以似乎第一个稍微回滚,可能是两个小时对应的CAT时区?但为什么这只发生在一个案例上呢?对2000年进行相同的实验不会产生相同的错误.

java date java-8 java-time

7
推荐指数
1
解决办法
448
查看次数

如何用模式格式化java.time.LocalDateTime和java.time.LocalDate?

在下面的剪辑中,属性$F是类java.time.LocalDateTimejava.time.LocalDate.

<textField pattern="EE. dd.MM.yyyy">
    <reportElement...>
    </reportElement>
    <textFieldExpression><![CDATA[$F{theLocalDateTime}]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)

如何pattern在jasper报告中使用textField格式化此属性 ?

java jasper-reports java-time

6
推荐指数
1
解决办法
2766
查看次数

找不到请求的操作的编解码器:[日期&lt;-&gt; java.util.Date]

在Cassandra中,列类型设置为Date,在Model类中,字段类型设置为具有getter和setter的java.util.Date。在此期间,com.datastax.driver.mapping.Mapper.save我收到以下异常:

Codec not found for requested operation: [date <-> java.util.Date]

Caused by: com.datastax.driver.core.exceptions.CodecNotFoundException: Codec not found for requested operation: [date <-> java.util.Date]
at com.datastax.driver.core.exceptions.CodecNotFoundException.copy(CodecNotFoundException.java:56)
at com.datastax.driver.core.exceptions.CodecNotFoundException.copy(CodecNotFoundException.java:25)
at com.datastax.driver.mapping.DriverThrowables.propagateCause(DriverThrowables.java:41)
at com.datastax.driver.mapping.Mapper.save(Mapper.java:272)
Run Code Online (Sandbox Code Playgroud)

在Google搜索过程中发现以下内容:

DATE      <-> com.datastax.driver.core.LocalDate : use getDate()
Run Code Online (Sandbox Code Playgroud)

java cassandra

6
推荐指数
1
解决办法
5537
查看次数

java.time.LocalDate 到 java.util.Date

什么是要转换的最佳方式 java.time.LocalDatejava.util.Date

Date.from(dateToReturn.atStartOfDay(ZoneId.systemDefault()).toInstant()
Run Code Online (Sandbox Code Playgroud)

我一直在尝试这个,但似乎不能正确地与时间一起工作,尽管正确地转换了日期月份和年份。

更新:java.time.LocalDate 不保存时间信息只是使用 java.time.LocalDateTime 代替,一切正常。

java java.util.date

3
推荐指数
1
解决办法
5517
查看次数