使用子字符串时Java无法解析日期

标签 java substring simpledateformat

这是我目前遇到的问题,我正在编写一个程序,该程序从网页表中获取信息,第一行的日期是例如。 “2011 年 9 月 21 日”。

后续行的格式为“2011 年 9 月 28 日 (2011-09-28)”。

我正在尝试对日期进行子字符串化,但我不断收到无法解析的日期:“2011 年 9 月 21 日” 每当我对字符串进行子串处理时。如果我不对第一个日期进行子字符串化,则第一个日期将起作用,但随后的日期将崩溃,如果我对第一个字符串进行子字符串化,它也会崩溃。

String date = tableData.get(airDate).text();
int index = date.length();
if(date.contains("(")){
   index = date.indexOf((int)'(') - 1;
}
date = date.substring(0, index);
Date simpleDate = formatter.parse(date);

我的程序完全塞满了,我不知道为什么。现在我不能再对字符串进行子串,更不用说让日期格式正确了:(

最佳答案

尝试

    Date d = new SimpleDateFormat("MMMM dd, yyyy", Locale.ENGLISH).parse("September 28, 2011 (2011-09-28");
    System.out.println(d);

打印

Wed Sep 28 00:00:00 EEST 2011

关于使用子字符串时Java无法解析日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14910228/

相关文章:

java - 我可以通过 rabbitmq 使用 java 发送任务到 celery 吗?

java - 连续两次发出启动 cmd.exe 的问题

java - 在for循环中比较两个数组的元素(java)?

检查字符串是否从子字符串列表构建的算法

java - 为什么新用户使用Spring Boot注册后无法登录?

java - 如果在数组中找到,则替换字符串中的单词

java - 从Java中的字符串中提取特定但未知的值

java - SimpleDateFormat,需要文本月份

java - 在 Java 7 中格式化 ISO 8601

java - 从 JSpinner 获取日期并放入具有 DATE 格式的 MySQL 数据库列