Java SimpleDateFormate.parse()转换指定字符串为Date
java中SimpleDateFormate.parse将符合格式的指定字符串转换为Date,格式可以为:2018-10-01 10:00:00,2018年10月01日等。SimpleDateFormate.parse()默认不校验日期准确,只要符合格式,及时日期写错了也会顺加日期得到新的Date对象。
定义
//返回对字符串类型的日期/时间解析后生成的Date对象 public Date parse(String source) throws ParseException
执行该方法需要处理ParseException异常。
常用函数语法
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
例子
public static void main(String[] args) throws ParseException { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");//Date指定格式:yyyy-MM-dd HH:mm:ss:SSS String string = "2019-7-20 10:00:10:111"; Date d = simpleDateFormat.parse(string);//传入的格式必须符合simpleDateFormat对象的格式,即"yyyy-MM-dd HH:mm:ss:SSS" 否则会报错 System.out.println(d); }
传递进来的String类型的字符串,其格式必须和SimpleDateFormate里面的参数形式一直,不能任何格式的字符串都可以转化,要不出现转发异常。
public static void main(String[] args) throws ParseException { DateFormat format = new SimpleDateFormat("dd/MM/yyyy"); format.setLenient(false); //强制校验时间是否正确 Date d= format.parse("33/10/2017"); System.out.println(d); }
如果设置format.setLenient(false),则会报错,如果不加入这行代码日期会顺加,打出的日期会是:2017-11-02。
simpledateformat.parse()默认是弱校验的,如果加入format.setLenient(false),则会强制校验日期。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。