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

时间:2015-08-19 18:41:22

标签: 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"));

我很想念文档中的工作方式,到目前为止,我的搜索效果还不尽如人意。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

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

"文本:文本样式是根据使用的模式字母数确定的。少于4个模式字母将使用简短形式。正好4个模式字母将使用完整形式。正好5个模式字母将使用窄格式。 "

所以模式" EEEE"无论长度如何,都会格式化为当天的全名。这些模式似乎不支持多种类型,但通过将字符串剥离到“短”状态可以实现相同的效果。或者缩小'一天。

感谢您的帮助。