java - 给定字符串的日期格式
问题描述
下面的日期是什么格式?
21-MAY-11 12.00.00.000000000 AM
我在下面试过但没有用。任何线索?
DateTimeFormatter formatter_1 = DateTimeFormatter.ofPattern("dd-MMM-yy hh.HH.mm.SSSSSSSSS a");
解决方案
没有可用于它的内置模式。您可以构建一个不区分大小写DateTimeFormatter
的 withLocale.ENGLISH
来解析此字符串。
演示:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
String strDateTime = "21-MAY-11 12.00.00.000000000 AM";
DateTimeFormatter dtf = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendPattern("uu-MMM-dd hh.mm.ss.SSSSSSSSS a")
.toFormatter(Locale.ENGLISH);
LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf);
System.out.println(ldt);
}
}
输出:
2021-05-11T00:00
在这里,您可以使用yy
代替,uu
但我更喜欢 u
使用y
.
从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。
推荐阅读
- python - 安装 Python 3.8.6 后找不到模块 numpy 错误
- ffmpeg - 使用 ffmpeg 进行流式传输时,仅当源文件/流没有音频时才插入音频
- c# - 仅在有值时才获取属性名称和值
- typescript - How can I pass an enum, with keys of another string enum, into a function that accepts a string?
- javascript - 来自 Flask 后端的 Prop 未传递给组件“TypeError:未定义不是对象(正在评估 'undefined.props')”
- java - 结合两个map java 8列表
- sql - 是否可以在选择中多次使用动态列?
- react-native - 在 Vscode 编辑器中切换文件时,React-native 项目会自行刷新
- python - 没有通过 Kafka Streaming 在控制台上显示任何内容
- angular - 打字稿,枚举,对象