Java 程序将字符串转换为日期

编写一个 Java 程序,通过示例将字符串转换为日期。有许多方法可以实现此目的,包括导入 LocalDate 类和 SimpleDateFormat。除此之外,您还可以导入 DateTimeFormatter 并将其与 LocalDate 类的 parse() 函数一起使用来更改格式。

Java 程序将字符串转换为日期

在此示例中,我们使用 LocalDate parse() 方法将字符串转换为日期。首先,我们声明一个 str1 字符串变量并为其分配一个随机日期。接下来,我们创建 LocalDate 类的实例并使用与之关联的 parse() 函数。

package NumPrograms;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class StringToDate1 {

	public static void main(String[] args) {
		
		String str1 = "2019-05-30";
		LocalDate dt1 = LocalDate.parse(str1);
		LocalDate dt2 = LocalDate.parse(str1, DateTimeFormatter.ISO_DATE);
		
		System.out.println("After Converting String to Date");
		System.out.println(dt1);
		System.out.println(dt2);
	}
}
Program to Convert String to Date

此程序使用 LocalDate 和 DateTimeFormatter 将字符串转换为日期。如果字符串日期不是标准格式,我们可以使用 DateTimeFormatter 来获取模式。接下来,我们可以将该格式化器传递给 LocalDate。

package NumPrograms;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

public class Example2 {

	public static void main(String[] args) {
		
		String str1 = "10-04-2017";
		DateTimeFormatter form1 = DateTimeFormatter.ofPattern("dd-MM-yyyy");
		LocalDate dt1 = LocalDate.parse(str1, form1);
		
		String str2 = "May 12, 2019";
		DateTimeFormatter form2 = DateTimeFormatter.ofPattern("MMMM d, yyyy", Locale.ENGLISH);
		LocalDate dt2 = LocalDate.parse(str2, form2);
		
		String str3 = "2018, June 19 11:05:33";
		DateTimeFormatter form3 = DateTimeFormatter.ofPattern("yyyy, MMMM d hh:mm:ss");
		LocalDate dt3 = LocalDate.parse(str3, form3);
		
		System.out.println(dt1);
		System.out.println(dt2);
		System.out.println(dt3);
	}
}
2017-04-10
2019-05-12
2018-06-19

Java 程序使用 SimpleDateFormat parse 函数将字符串转换为日期

导入 SimpleDateFormat 并使用它是格式化日期的有效方法之一。首先,创建 SimpleDateFormat 的实例,然后使用 parse() 方法。不要忘记提及您将要解析的日期格式。例如,dd/MM/yyyy 或 yyyy/MM/dd。

package NumPrograms;

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

public class Example3 {

	public static void main(String[] args) throws Exception {
		
		String str1 = "22/05/2019";
		Date dt1 = new SimpleDateFormat("dd/MM/yyyy").parse(str1);
		
		String str2 = "11/12/2019";
		Date dt2 = new SimpleDateFormat("MM/dd/yyyy").parse(str2);
		
		System.out.println(dt1);
		System.out.println(dt2);
	}
}
Wed May 22 00:00:00 IST 2019
Tue Nov 12 00:00:00 IST 2019

在此示例中,我们使用不同的 Pattern Formatter 定义了日期并使用了 SimpleDateFormat parse。

package NumPrograms;

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

public class StringToDate4 {

	public static void main(String[] args) throws Exception {
		
		String str1 = "10-11-2011";
		Date dt1 = new SimpleDateFormat("dd-MM-yyyy").parse(str1);
		
		String str2 = "31 12, 2012";
		Date dt2 = new SimpleDateFormat("dd MM, yyyy").parse(str2);
		
		String str3 = "Mon, Dec 31, 2013";
		Date dt3 = new SimpleDateFormat("E, MMM dd, yyyy").parse(str3);
		
		String str4 = "Mon, Dec 31, 2013 23:59:58";
		Date dt4 = new SimpleDateFormat("E, MMM dd, yyyy hh:mm:ss").parse(str4);
		
		System.out.println(dt1);
		System.out.println(dt2);
		System.out.println(dt3);
		System.out.println(dt4);
	}
}
Thu Nov 10 00:00:00 IST 2011
Mon Dec 31 00:00:00 IST 2012
Tue Dec 31 00:00:00 IST 2013
Tue Dec 31 23:59:58 IST 2013