java - 使用 java datetimeformatter 从星期几解析日期

标签 java parsing datetime-format dayofweek

我正在使用 java 程序解析来自短信服务的文本,我发现在使用 DateTimeFormatter 时,“E”或“e”是星期几的模式字符,字符数决定了格式(即 'E' = T、'EE' = Tu、'EEE' = Tue 等)但在我的程序中我永远不确定消息将包含什么格式。

如果我要检查星期几,是否可以使用单一模式检查所有格式?如果不是,当我检查完全写出的日期(字符长度不同)时,连续有多少个 E 将包括星期一(6 个字母)和星期三(9 个字母)?

例如:

String singleWordFromMessage = "thursday";
LocalDateTime potentialDate = LocalDateTime.parse(singleWordFromMessage, DateTimeFormatter.ofPattern("EEEE"));

我不知道它在文档中是如何工作的,而且我在这里的搜索到目前为止还没有结果。在此先感谢您的帮助。

最佳答案

正如@RC 指出的,我错过了:

"文本:文本样式根据使用的模式字母数量确定。少于 4 个模式字母将使用缩写形式。恰好 4 个模式字母将使用完整形式。恰好 5 个模式字母将使用窄形式.”

因此模式“EEEE”将格式化为当天的全名,无论长度如何。这些模式似乎不支持多种类型,但同样可以通过将字符串剥离为“短”或“窄”日来实现。

感谢所有的帮助。

关于java - 使用 java datetimeformatter 从星期几解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32103228/

相关文章:

java - Spring MVC 4.0 - Web Config 中的 Hibernate OpenSessioninViewFilter

java - 当多次单击按钮时,应用程序变得无响应

java - Spring Web应用程序-获取表单数据-post方法

python - 使用 BeautifulSoup 仅获取 URL 列表的第一个链接

java - 如何获取当前本地时间的 UTC 转换后的 Java 时间戳?

javascript - 格式化日期时间 JavaScript

java - MP3 下载器致命异常

r - 避免臭名昭著的 “eval(parse())”构造

Java txt 解析器

hadoop - 将字符串 'ddMMMyyyy' 转换为 Hive 中的日期值