欢迎访问宙启技术站
智能推送

Java函数——日期和时间格式化

发布时间:2023-05-31 13:39:12

Java中日期和时间的格式化是指将日期和时间转换为指定的格式,这样可以更方便地输出、显示和保存。在Java中,可以使用DateFormat和SimpleDateFormat类来进行日期和时间的格式化。

1. DateFormat类

DateFormat类是Java中用于处理日期和时间的抽象类,可以通过它来对日期和时间进行格式化和解析。

DateFormat类中有一些静态方法和常量,如getDateInstance()、getTimeInstance()、getDateTimeInstance()、SHORT、MEDIUM、LONG、FULL等,用于设置日期和时间格式化的样式。 getDateInstance()用于设置日期格式化的样式,getTimeInstance()用于设置时间格式化的样式,getDateTimeInstance()用于设置同时包括日期和时间的格式化的样式,SHORT、MEDIUM、LONG、FULL则用于设置样式的详细程度。

以下是使用DateFormat类对日期进行格式化的示例:

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

public class TestDateFormat {
   public static void main(String args[]) {
      Date date = new Date();
      DateFormat dateFormat = DateFormat.getDateInstance();//获取日期格式器
      String formattedDate = dateFormat.format(date);//格式化日期
      System.out.println("Default date format: " + formattedDate);
   }
}

输出:

Default date format: 2022-10-06

2. SimpleDateFormat类

SimpleDateFormat类是DateFormat类的子类,用于自定义日期和时间的格式化。

SimpleDateFormat类中提供了一些格式化的模式字符串,如“yyyy-MM-dd”代表年-月-日,”HH:mm:ss”代表时:分:秒等等。我们可以选择一个适当的模式来创建SimpleDateFormat对象,并使用format()方法将日期和时间格式化为指定的格式。

以下是使用SimpleDateFormat类进行日期和时间格式化的示例:

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

public class TestSimpleDateFormat {
   public static void main(String args[]) {
      Date date = new Date();
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定日期和时间样式
      String formattedDate = simpleDateFormat.format(date);//格式化日期和时间
      System.out.println("Current date and time using custom format: " + formattedDate);
   }
}

输出:

Current date and time using custom format: 2022-10-06 13:12:28

注意,在使用SimpleDateFormat类时,必须使用合法的模式字符串,否则会抛出异常。

3. 自定义格式化

除了使用DateFormat类和SimpleDateFormat类提供的格式化样式,我们还可以自定义自己的格式化方式。

例如,如果我们需要将日期和时间格式化为形如“2022年10月6日 13点12分28秒”的字符串,我们可以自定义一个格式化器,实现格式化方法。

以下是自定义格式化器的示例:

import java.util.Date;

public class CustomDateTimeFormatter {
   public static String format(Date date) {
      StringBuffer formattedDate = new StringBuffer();
      formattedDate.append(date.getYear() + 1900).append("年");//年份应加上1900
      formattedDate.append(date.getMonth() + 1).append("月");//月份从0开始,要加1
      formattedDate.append(date.getDate()).append("日 ");//日期
      formattedDate.append(date.getHours()).append("点");//小时
      formattedDate.append(date.getMinutes()).append("分");//分钟
      formattedDate.append(date.getSeconds()).append("秒");//秒
      return formattedDate.toString();
   }
}

使用自定义格式化器:

import java.util.Date;

public class TestCustomDateTimeFormatter {
   public static void main(String args[]) {
      Date date = new Date();
      String formattedDate = CustomDateTimeFormatter.format(date);
      System.out.println("Current date and time using custom format: " + formattedDate);
   }
}

输出:

Current date and time using custom format: 2022年10月6日 13点14分24秒

总结:

Java中的DateFormat和SimpleDateFormat类以及自定义格式化器,可以帮助我们格式化日期和时间,使其更符合我们的需要。学会如何使用它们,可以使我们更好地处理日期和时间数据。