如何在Java中将日期从String解析为dd / MM / yyyy到dd / MM / yyyy?

java.text包提供了一个名为SimpleDateFormat的类,该类用于以必需的方式(本地)格式化和解析日期。

此类的构造函数之一接受表示所需日期格式的String值,并接受SimpleDateFormat对象。

此类的format()方法接受一个java.util.Date对象,并以当前对象表示的格式返回日期/时间字符串。

因此,要将日期字符串解析为另一种日期格式-

  • 获取输入日期字符串。

  • 将其转换为java.util.Date对象。

  • 通过将所需的(新)格式作为字符串传递给其构造函数来实例化SimpleDateFormat类。

  • format()通过传递上面获得的Date对象作为参数来调用该方法。

示例

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

public class FormattingDate {

   public static Date StringToDate(String dob) throws ParseException {

      //实例化SimpleDateFormat类

      SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");

      //将给定的String解析为Date对象

      Date date = formatter.parse(dob);

      System.out.println("Date object value: "+date);

      return date;

   }

   public static void main(String args[]) throws ParseException {

      //从用户读取姓名和出生日期

      Scanner sc = new Scanner(System.in);

      System.out.println("Enter your name: ");

      String name = sc.next();

      System.out.println("Enter your date of birth (dd-MM-yyyy): ");

      String dob = sc.next();

      //将字符串转换为日期

      Date date = FormattingDate.StringToDate(dob);

      System.out.println("Select format: ");

      System.out.println("a: MM-dd-yyyy || b: dd-MM-yyyy || c: yyyy-MM-dd ");

      char ch = sc.next().toCharArray()[0];;

      switch (ch) {

         case 'a':

            System.out.println("Date in the format: MM-dd-yyyy");

            System.out.println(new SimpleDateFormat("MM-dd-yyyy").format(date));

            break;

         case 'b':

            System.out.println("Date in in the format: dd-MM-yyyy");

            System.out.println(new SimpleDateFormat("dd-MM-yyyy").format(date));

            break;

         case 'c':

            System.out.println("Date in the format: yyyy-MM-dd");

            System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));

            break;

         default:

            System.out.println("Model not found");

            break;

      }

   }

}

输出结果

Enter your name:

Krishna

Enter your date of birth (dd-MM-yyyy):

26-09-1989

Date object value: Tue Sep 26 00:00:00 IST 1989

Select format:

a: MM-dd-yyyy || b: dd-MM-yyyy || c: yyyy-MM-dd

a

Date in the format: MM-dd-yyyy

09-26-1989

以上是 如何在Java中将日期从String解析为dd / MM / yyyy到dd / MM / yyyy? 的全部内容, 来源链接: utcz.com/z/321611.html

回到顶部