java - 使用 UTC 将 LocalDate 转换为 TimeStamp
问题描述
我将 LocalDate 作为输入,并希望将其转换为这种格式以在 oracle DB 中搜索。
input - "2010-10-10"
Output- 10-OCT-10 07.39.02.713000000 AM UTC
我尝试使用 TimeStamp 和 DateTime 但分别以这些格式获取日期。
2020-10-10 00:00:00.0
2020-10-10T00:00:00.000+05:30
我用了
Timestamp.valueOf(startDate.atStartOfDay());
DateTime.parse(startDate.toString());
你能帮我么?先感谢您
更新。
解决方案
解析给定的字符串LocalDate
并将其转换为ZonedDateTime
using LocalDate#atStartOfDay(ZoneId)
。
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Testing {
public static void main(String[] args) {
LocalDate date = LocalDate.parse("2010-10-10");
ZonedDateTime zdt = date.atStartOfDay(ZoneId.of("Etc/UTC"));
System.out.println(zdt);
// Custom format
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss.SSS a zzz", Locale.ENGLISH);
System.out.println(dtf.format(zdt));
}
}
输出:
2010-10-10T00:00Z[Etc/UTC]
2010-10-10 00:00:00.000 AM UTC
从Trail: Date Time了解更多关于java.time
现代日期时间 API *的信息。
* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,则可以使用ThreeTen-Backport,它将大部分java.time功能向后移植到 Java 6 和 7。如果您正在为 Android 项目和 Android API 工作level 仍然不符合 Java-8,请检查Java 8+ APIs available through desugaring和How to use ThreeTenABP in Android Project。
推荐阅读
- tooltip - 在散景的悬停工具中显示情节图例-我得到“???” 当我在工具提示中使用“$name”关键字时
- javascript - 更改单选按钮Angular 11的文本颜色
- macos - 为什么 micro 需要 sudo 才能在 Mac 上工作?
- python - Django - 将函数值保存到每个模型实例
- angular - 为什么样式不适用于动态创建容器?
- woocommerce - 单击继续付款按钮后,如何在结帐页面上显示消息?
- typescript - 等效类型但在使用可选索引签名时不可分配:为什么?
- javascript - 有人可以告诉我如何在游戏结束后显示按钮吗?
- android - 如何使用 RecyclerView 显示下载列表?
- javascript - 将 html 选择下拉列表转换为单个按钮导航栏