java中如何格式化时间格式
使用 SimpleDateFormat 类
SimpleDateFormat 是 Java 中用于格式化日期和时间的类。通过指定模式字符串,可以将日期对象格式化为所需的字符串形式。
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = sdf.format(date);
System.out.println(formattedDate);
}
}
模式字符串说明:
yyyy:四位年份MM:两位月份dd:两位日期HH:24小时制的小时mm:分钟ss:秒
使用 DateTimeFormatter 类(Java 8+)
Java 8 引入了新的日期时间 API,其中 DateTimeFormatter 提供了更灵活的日期时间格式化方式。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
String formattedDate = now.format(formatter);
System.out.println(formattedDate);
}
}
预定义的格式常量
DateTimeFormatter 提供了一些预定义的格式常量,可以直接使用。
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
String formattedDate = now.format(DateTimeFormatter.ISO_DATE_TIME);
System.out.println(formattedDate);
}
}
本地化格式
可以根据不同的地区显示不同的日期时间格式。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM)
.withLocale(Locale.CHINA);
String formattedDate = now.format(formatter);
System.out.println(formattedDate);
}
}
解析字符串为日期
除了格式化日期,还可以将字符串解析为日期对象。
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) throws ParseException {
String dateString = "2023-10-01 15:30:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(dateString);
System.out.println(date);
}
}
使用 DateTimeFormatter 解析字符串
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
String dateString = "2023/10/01 15:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
LocalDateTime date = LocalDateTime.parse(dateString, formatter);
System.out.println(date);
}
}
处理时区
如果需要处理时区,可以使用 ZonedDateTime 类。
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
ZonedDateTime now = ZonedDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");
String formattedDate = now.format(formatter);
System.out.println(formattedDate);
}
}






