📌  相关文章
📜  Java中的 DateFormat parse( 字符串 , ParsePosition) 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:46.655000             🧑  作者: Mango

Java中的 DateFormat parse()方法

在Java中,DateFormat类提供了parse()方法用于将日期格式的字符串转换为Date对象。

语法
public Date parse(String source) throws ParseException

或者

public Date parse(String source, ParsePosition pos)

其中,source是要解析的日期格式字符串,而pos则是指定从source字符串的哪个位置开始解析。

返回值

解析成功后,该方法将返回一个对应于source字符串的Date对象;如果解析失败,则抛出一个ParseException异常。

示例

下面是使用DateFormat类的parse()方法的一个示例代码:

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

public class DateFormatParseExample {
    public static void main(String[] args) {
        String dateString = "2020-05-15";
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

        try {
            Date date = dateFormat.parse(dateString);
            System.out.println("Date: " + date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

这个例子中,我们先定义了一个日期格式字符串dateString和一个DateFormat对象dateFormat。然后在try-catch块中,我们将dateString字符串解析为一个Date对象,并将其输出到控制台。

除了上面这种用法之外,还可以使用第二个参数ParsePosition来指示解析的起始位置。这个参数是一个ParsePosition对象,它指定了在source字符串的哪个位置开始解析。

例如,下面是一个使用ParsePosition参数的示例代码:

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

public class DateFormatParsePositionExample {
    public static void main(String[] args) {
        String dateString = "2020-05-15T19:00:00Z";
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
        ParsePosition position = new ParsePosition(0);

        try {
            Date date = dateFormat.parse(dateString, position);
            System.out.println("Date: " + date);
            System.out.println("Parsed chars: " + position.getIndex());
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

这个例子中,我们使用了一个包含时区信息的日期时间字符串dateString,并使用了ParsePosition对象position来指定解析起始位置。解析成功后,我们输出了解析得到的Date对象和解析结束的位置。