当前位置: 首页 > 面试题库 >

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

潘星阑
2023-03-14
问题内容

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

“简单”是指比这更简单:

Date date = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());

对我来说似乎有点尴尬。

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


问题答案:

其实有。有一个静态方法的valueOf在java.sql.Date这不正是那个对象。所以我们有

java.util.Date date = java.sql.Date.valueOf(localDate);

就是这样。没有明确设置时区,因为本地时区是隐式获取的。

从文档:

提供的LocalDate解释为本地时区中的本地日期。

java.sql.Date子类java.util.Date这样的结果是java.util.Date也。

对于反向操作,java.sql.Date类中有一个toLocalDate方法。因此,我们有:

LocalDate ld = new java.sql.Date(date.getTime()).toLocalDate();



 类似资料:
  • 问题内容: 将JodaTime转换为对象的最简单方法是什么? 问题答案: 乔达时间 要将JodaTime转换为,请执行 要将JodaTime转换为,请执行 Java时间 要将Java8转换为,请执行 要将Java8转换为,请执行 您可能会想用来缩短它,但是没有直接的API可以获取系统默认的区域偏移量。 要将Java8转换为,请执行

  • 问题内容: 我正在尝试将short转换为2个字节…然后从这2个字节尝试获取相同的short值。为此,我编写了以下代码: 对于700(oldshort)的值,newhosrt为444。经过一些测试,它看起来像\ t。此代码仅适用于某些值。就像…如果oldshort = 50,那么它将正常工作..但是,如果它是-200或大于127(我认为)的值,它将不起作用。我想带符号的字节,二进制补码值等等都有问题

  • 问题内容: 我正在搜索轻量级API(最好是单个类)以转换 到xml,反之亦然,将XML转换回Map。 例: 结果: 然后回来: 我不想使用JAXB或JSON转换API。只需简单的情况,它就不必处理嵌套的地图或属性或其他任何内容。有什么建议么? 编辑:我创建了一个工作副本并粘贴示例。感谢fvu和Michal Bernhard。 下载最新的XStream框架,“仅核心”就足够了。 不需要转换器或其他任

  • 问题内容: 如何在Python中将HTML实体转换为Unicode,反之亦然? 问题答案: 您需要有BeautifulSoup。

  • 问题内容: 我正在寻找一种将NumPy数组传递给Matlab的方法。 我已经设法通过使用将数组存储到图像中,然后使用加载它来做到这一点,但这当然会使矩阵包含0到256之间的值,而不是“真实”值。 将这个矩阵的乘积除以256,再加上原始NumPy数组中的最大值,可以得出正确的矩阵,但是我觉得这有点乏味。 有没有更简单的方法? 问题答案: 当然,只要使用 举个例子: 同样,有。 然后,您使用将其加载到

  • 问题内容: 使用以下代码获取字符串并将其转换为二进制: 输出: 如果我将其放到该站点(位于右侧站点)中,则会得到hello回信。我想知道它使用什么方法。我知道我可以将二进制字符串拼接成8,然后将其与相应的值进行匹配或以其他方式进行匹配。真正在寻找更简单的东西。 问题答案: 对于[ -~]Python 2 范围内的ASCII字符: 相反: 在Python 3.2+中: 相反: 要在Python中支持