如何将String对象转换为Date对象?
我想我需要做这样的事情:
Date d=(some conversion ) "String "
非常感谢任何帮助。
答案 0 :(得分:21)
SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
Date date = dateFormat.parse("1.1.2001");
有关详细信息,请参阅:SimpleDateFormat documentation
答案 1 :(得分:9)
日期到字符串转换是一种相对复杂的解析操作,而不是您在尝试时使用简单的转换操作。
您必须使用DateFormat。它可以很简单:
Date d = DateFormat.getDateInstance().parse("09/10/2009");
但是这会根据正在运行的计算机的区域设置更改预期的日期格式。如果您有特定的日期格式,则可以使用SimpleDateFormat:
Date d = new SimpleDateFormat("d MMM yyyy HH:mm").parse("4 Jul 2001 12:08");
请注意,解析方法总是需要一种特定的格式,如果收到不同的格式,则不会尝试猜测是什么意思。
答案 2 :(得分:4)
请参阅Sun's Java tutorial和SimpleDateFormat类
答案 3 :(得分:3)
使用带有格式字符串的SimpleDateFormat
,该字符串与您的实际格式匹配:
SimpleDateFormat sdf =
new SimpleDateFormat("yyyy-MM-dd");
Date d = sdf.parse("2009-10-09");
答案 4 :(得分:3)
java.text.SimpleDateFormat扩展了java.text.DateFormat抽象类。
DateFormat MYDate = new SimpleDateFormat("dd/MM/yyyy");
Date today = MYDate.parse("09/10/2009");
答案 5 :(得分:1)
你应该使用SimpleDateFormat类解析字符串
答案 6 :(得分:0)
使用
Date date = DateFormat.getInstance.parse( dateString );
答案 7 :(得分:0)
您可以使用此方法将String对象转换为Date对象。这个Java代码在我的环境中经过测试并运行组件。
public static Date parseStringAsDate(String dateStr, String format) throws ParseException
{
if(null==dateStr || "".equals(dateStr))
throw new IllegalArgumentException("dateStr must not be null or empty");
DateFormat df = new SimpleDateFormat(format);
return df.parse(dateStr);
}
dateStr =“2017/05/17”
format =“dd / MM / yyyy”