时间日期的格式化在日常的开发中还是十分常见滴,以下整理了一些常见的日期格式样式:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class DateTimeUtils {
private static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
private static final String DEFAULT_TIME_FORMAT_24H = "HH:mm:ss";
private static final String DEFAULT_TIME_FORMAT_12H = "hh:mm:ss a";
private static final String DEFAULT_DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
private static final String DEFAULT_DATETIME_FORMAT_12H = "yyyy-MM-dd hh:mm:ss a";
public static String formatCurrentDate() {
return formatCurrentDate(DEFAULT_DATE_FORMAT);
}
public static String formatCurrentDate(String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date());
}
public static String formatCurrentTime24H() {
return formatCurrentTime(DEFAULT_TIME_FORMAT_24H);
}
public static String formatCurrentTime12H() {
return formatCurrentTime(DEFAULT_TIME_FORMAT_12H);
}
public static String formatCurrentTime(String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date());
}
public static String formatCurrentDateTime() {
return formatCurrentDateTime(DEFAULT_DATETIME_FORMAT);
}
public static String formatCurrentDateTime12H() {
return formatCurrentDateTime(DEFAULT_DATETIME_FORMAT_12H);
}
public static String formatCurrentDateTime(String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date());
}
public static String formatDateTime(Date date, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
public static Date parseDateTime(String dateTimeString, String pattern) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(dateTimeString);
}
public static String formatTimestamp(long timestamp, String pattern) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(new Date(timestamp));
}
public static long parseTimestamp(String timestampString, String pattern) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(timestampString).getTime();
}
public static String formatWithTimeZone(String pattern, TimeZone timeZone) {
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
sdf.setTimeZone(timeZone);
return sdf.format(new Date());
}
public static void main(String[] args) {
System.out.println("Current Date: " + formatCurrentDate());
System.out.println("Current Time (24H): " + formatCurrentTime24H());
System.out.println("Current Time (12H): " + formatCurrentTime12H());
System.out.println("Current Date and Time: " + formatCurrentDateTime());
System.out.println("Current Date and Time (12H): " + formatCurrentDateTime12H());
String customPattern = "yyyy年MM月dd日 HH时mm分ss秒";
System.out.println("Custom Formatted Date and Time: " + formatCurrentDateTime(customPattern));
try {
String dateString = "2023-12-30";
Date parsedDate = parseDateTime(dateString, DEFAULT_DATE_FORMAT);
System.out.println("Parsed Date: " + formatDateTime(parsedDate, DEFAULT_DATE_FORMAT));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
在开发的过程中,难免需要将时间格式化成各种类型,经过一番折腾,我的还是觉得需要做一个完整的时间格式化工具类,这样的在开发个过程中就能直接使用,这样岂不是美滋滋