我正在使用 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/