如何在 java 中将 dd/MM/yyyy 格式的字符串转换为 dd/MM/yyyy?

javaobject oriented programmingprogramming

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

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

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

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

  • 获取输入日期字符串。

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

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

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

示例

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");
      //将给定的字符串解析为 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("输入您的姓名:");
      String name = sc.next();
      System.out.println("输入您的出生日期 (dd-MM-yyyy):");
      String dob = sc.next();
      //将字符串转换为日期
      Date date = FormattingDate.StringToDate(dob);
      System.out.println("选择格式:");
      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("日期格式为:MM-dd-yyyy");
            System.out.println(new SimpleDateFormat("MM-dd-yyyy").format(date));
            break;
         case 'b':
            System.out.println("日期格式为:dd-MM-yyyy");
          System.out.println(new SimpleDateFormat("dd-MM-yyyy").format(date));
            break;
         case 'c':
            System.out.println("日期格式为:yyyy-MM-dd");
            System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));
            break;
           default:
            System.out.println("Model not found");
            break;
        }
   }
}

输出

输入您的姓名:
Krishna
输入您的出生日期 (dd-MM-yyyy):
26-09-1998
日期对象值:Tue Sep 26 00:00:00 IST 1998
选择格式:
a:MM-dd-yyyy || b:dd-MM-yyyy || c:yyyy-MM-dd
a
日期格式为:MM-dd-yyyy
09-26-1998

相关文章