SimpleDateFormatter不会解析!
-
02-10-2019 - |
题
您好,我试图使用SimpleDateFormatter来解析日期 Wed, 30 Jun 2010 15:07:06 CST
我正在使用以下代码
public static SimpleDateFormat postedformat =
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
Date newDate = new Date(posteformat.parse("Wed, 30 Jun 2010 15:07:06 CST"));
但是我得到了违法的评估。请帮忙!
解决方案
postedformat.parse()
返回a Date
, ,没有 Date(Date)
构造函数。
大概删除了电话 new Date
, , 所以你说 Date newDate = poste....
就足够了
其他提示
您的代码片段未编译。这种轻微的修改成功地编译和解析:
public static void main(String[] args) throws ParseException {
SimpleDateFormat postedformat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
System.out.println("newDate = " + newDate);
}
这是在Mac OS X上使用Java 6。
没有 java.util.Date()
构造函数 java.util.Date
作为论点
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormat {
public static SimpleDateFormat postedformat =
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
public static void main(String[] args) {
try {
Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
System.out.println("Date: " + newDate);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
输出:
Date: Wed Jun 30 22:07:06 BST 2010
Javadoc的示例显示了毫无用处的逗号,但适用于美国语言环境。因此,要么尝试逃脱逗号(按照亚伦的建议),要么使用其他构造函数并设置位置:
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);
另一个问题可能是时区('CST'),它在手头上被弃用,另一个是模棱两可的(根据Javadoc的 java.util.TimeZone
)。测试,如果它在没有时区属性的情况下工作(以格式字符串和值)。
不隶属于 StackOverflow