如何将String对象转换为Date对象?

时间:2009-10-09 12:28:28

标签: java date

如何将String对象转换为Date对象?

我想我需要做这样的事情:

Date d=(some conversion ) "String "

非常感谢任何帮助。

8 个答案:

答案 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”