java joda datetime_关于java:使用Joda将日期转换为DateTime

本问题已经有最佳答案,请猛点这里访问。

是否可以使用Joda将格式为" YYYY-MM-dd"的日期转换为" YYYY-MM-dd HH:mm:ss"?

例如:" 2016-01-21"至" 2016-01-21 00:00:00"

在问问题之前,您必须至少搜索此网站(可能还有google),并自己寻求解决方案。 请阅读如何提问。

使用Joda API中的DateTimeFormat类。它可以帮助您将日期格式化为您选择的格式。您可以简单地提供所需的格式,例如在这种情况下,您需要" YYYY-MM-dd HH:mm:ss"。以下代码可用于JodaTime 2.0及更高版本。

DateTime date = DateTime.parse("2016-01-21", DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss"));

这里有两件事,首先我们需要将现有的字符串解析为DateTime对象,这是通过parse方法完成的,它还允许附加参数将输出转换为其他格式。下面给出了更长但更容易理解的实现。

DateTime date = DateTime.parse("2016-01-21");

DateTimeFormatter formatter = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss");

date  = formatter.parseDateTime(string);

您的问题不清楚:

您是否只想将"表示日期的内容"格式化为时间为" 00:00:00"的字符串?

还是要尝试将"表示日期的东西"转换为"表示日期+时间的东西,以00:00:00作为时间"?

还是要通过忽略原始时间并将时间设置为00:00:00来将java.util.Date转换为Joda org.joda.time.DateTime?

或者您是否正在尝试将格式为" YYYY-MM-dd"的日期字符串转换为日期和时间为00:00:00的另一个字符串?

或者是其他东西?

在Joda中,表示日期的正确方法是使用LocalDate,而表示"日期+时间"信息(但不是瞬间)的正确方法是通过LocalDateTime。 DateTime代表时刻。具备以下基本知识:

问题一:

String result = DateTimeFormat.forPattern("YYYY-MM-dd", myLocalDate);

问题二:

LocalDateTime result = myLocalDate.toLocalDateTime(LocalTime.MIDNIGHT);

第三季度的答案:

DateTime result = new DateTime(javaUtilDate).withTimeAtStartOfDay();

第四季度的答案:

String result = dateString +" 00:00:00";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值