Java-如何解析日期?
我正在尝试解析此日期,SimpleDateFormat
但无法正常工作:
import java.text.ParseException;import java.text.SimpleDateFormat;
import java.util.Date;
public class Formaterclass {
public static void main(String[] args) throws ParseException{
String strDate = "Thu Jun 18 20:56:02 EDT 2019";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
Date dateStr = formatter.parse(strDate);
String formattedDate = formatter.format(dateStr);
System.out.println("yyyy-MM-dd date is ==>"+formattedDate);
Date date1 = formatter.parse(formattedDate);
formatter = new SimpleDateFormat("dd-MMM-yyyy");
formattedDate = formatter.format(date1);
System.out.println("dd-MMM-yyyy date is ==>"+formattedDate);
}
}
如果我使用strDate =尝试此代码"2019-10-14"
,我将获得肯定的答案。有什么问题?如何解析这种格式?
PS。我从jDatePicker
那里得到了这个日期,并且没有关于用户选择日期时如何修改日期格式的说明。
回答:
你不能期望使用设置为其他格式的SimpleDateFormat解析日期。
要解析“ 2009年Thu Jun 18 20:56:02 EDT 2019”日期字符串,你需要这样的SimpleDateFormat(大致):
SimpleDateFormat parser=new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
使用此方法将字符串解析为Date,然后使用其他SimpleDateFormat
将日期转换为所需的格式。
String input = "Thu Jun 18 20:56:02 EDT 2009"; SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
Date date = parser.parse(input);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(date);
...
以上是 Java-如何解析日期? 的全部内容, 来源链接: utcz.com/qa/420439.html