java怎么把字符串转换成日期类型

2024-10-31 11:32:10
推荐回答(2个)
回答1:

SimpleDateFormat类

有个parse方法

public Date parse(String text, ParsePosition pos)

  • 解析字符串的文本,生成 Date。

    此方法试图解析从 pos 给定的索引处开始的文本。如果解析成功,则将 pos 的索引更新为所用最后一个字符后面的索引(不必对直到字符串结尾的所有字符进行解析),并返回解析得到的日期。更新后的 pos 可以用来指示下次调用此方法的起始点。如果发生错误,则不更改 pos 的索引,并将 pos 的错误索引设置为发生错误处的字符索引,并且返回 null。

  • 指定者:

  • 类 DateFormat 中的 parse

  • 参数:

  • text - 应该解析其中一部分的 String。

  • pos - 具有以上所述的索引和错误索引信息的 ParsePosition 对象。

  • 返回:

  • 从字符串进行解析的 Date。如果发生错误,则返回 null。

  • 抛出:

  • NullPointerException - 如果 text 或 pos 为 null。

  • 另请参见:

  • DateFormat.setLenient(boolean)

回答2:

itjobjava老师教过java中将字符串转换成日期类型,可以使用SimpleDateFormat日期转换类,有一个前提是字符串必须满足日期的格式,如果不是会有异常,示例如下:
package com.qiu.lin.he;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class CeShi {

public static void main(String[] args) {
String dateStr = "2010-10-11 10:00:02";
try {
Date d = parseDate(dateStr);//将字符串转换成date类型
System.out.println(d);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

//将字符串转换成date类型方法
static public Date parseDate(String s) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
return format.parse(s);
}

}
结果是:
Mon Oct 11 00:00:00 CST 2010