一、概述
我有一个字符串String代表一个日期。
String date_s = "2011-01-18 00:00:00.0";
我想将其转换为Date并以YYYY-MM-DD格式输出。
2011-01-18
我该如何实现?
这是我尝试过的事情:
String date_s = " 2011-01-18 00:00:00.0";
SimpleDateFormat dt = new SimpleDateFormat("yyyyy-mm-dd hh:mm:ss");
Date date = dt.parse(date_s);
SimpleDateFormat dt1 = new SimpleDateFormat("yyyyy-mm-dd");
System.out.println(dt1.format(date));
但是它输出的02011-00-1不是期望的2011-01-18。我究竟做错了什么?
二、详解
答案当然是创建一个SimpleDateFormat对象,并使用它来将String解析为Date并将Dates格式化为String。如果您尝试过SimpleDateFormat,但没有成功,请显示您的代码以及可能收到的任何错误。
附录:“字符串”格式的“ mm”与“ MM”不同。使用MM几个月,使用mm几分钟。另外,yyyyy与yyyy不同。例如,:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FormateDate {
public static void main(String[] args) throws ParseException {
String date_s = "2011-01-18 00:00:00.0";
// *** note that it's "yyyy-MM-dd hh:mm:ss" not "yyyy-mm-dd hh:mm:ss"
SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = dt.parse(date_s);
// *** same for the format String below
SimpleDateFormat dt1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(dt1.format(date));
}
}