Java日期函数:快速获取当前日期时间、格式化日期字符串
Java中提供了许多处理日期时间的函数和类,可以方便地操作日期格式转换、日期加减、日期比较等操作。本文介绍如何快速获取当前日期时间和格式化日期字符串。
一、快速获取当前日期时间
在Java中,可以使用java.util.Date和java.util.Calendar类获取当前日期时间。其中,java.util.Date类提供了如下方法获取当前日期时间:
1. getTime()方法:返回自1970-01-01 00:00:00 GMT以来此日期表示的毫秒数。
2. toString()方法:返回此日期的字符串表示形式。
使用示例:
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
Date now = new Date();
System.out.println(now.getTime());
System.out.println(now.toString());
}
}
输出结果:
1590065906733
Thu May 21 11:11:46 CST 2020
java.util.Calendar类提供了如下方法获取当前日期时间:
1. getInstance()方法:返回一个Calendar对象,其日历字段已由当前日期和时间初始化。
2. getTime()方法:返回此Calendar对象对应的时间值,即自1970-01-01 00:00:00 UTC以来的毫秒数。
3. getTimeInMillis()方法:返回此Calendar对象对应的时间值,即自1970-01-01 00:00:00 GMT以来的毫秒数。
4. get(int field)方法:返回指定日历字段的值,如Calendar.YEAR、Calendar.MONTH、Calendar.DATE等。
使用示例:
import java.util.Calendar;
public class TestCalendar {
public static void main(String[] args) {
Calendar now = Calendar.getInstance();
System.out.println(now.getTime());
System.out.println(now.getTimeInMillis());
System.out.println(now.getTimeZone());
System.out.println(now.get(Calendar.YEAR));
System.out.println(now.get(Calendar.MONTH) + 1);
System.out.println(now.get(Calendar.DATE));
}
}
输出结果:
Thu May 21 11:09:20 CST 2020
1590065360930
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
2020
5
21
二、格式化日期字符串
1. SimpleDateFormat类
在Java中,可以使用SimpleDateFormat类格式化日期字符串。SimpleDateFormat类提供了如下方法:
1. format(Date date)方法:将日期格式化为指定格式的字符串。
2. parse(String str)方法:将字符串解析为日期。
SimpleDateFormat类中的日期格式符号:
y——年;
M——月;
d——日;
H——时(24小时制);
h——时(12小时制);
m——分;
s——秒;
S——毫秒。
使用示例:
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestSimpleDateFormat {
public static void main(String[] args) throws Exception {
Date now = new Date();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(sdf1.format(now));
System.out.println(sdf2.format(now));
String str1 = "2020-05-21 11:23:34";
String str2 = "2020年05月21日 11时23分34秒";
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf4 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(sdf3.parse(str1));
System.out.println(sdf4.parse(str2));
}
}
输出结果:
2020-05-21 11:23:34
2020年05月21日 11时23分34秒
Thu May 21 11:23:34 CST 2020
Thu May 21 11:23:34 CST 2020
2. DateTimeFormatter类
Java 8中,可以使用DateTimeFormatter类格式化日期字符串。DateTimeFormatter类提供了如下方法:
1. format(TemporalAccessor temporal)方法:将日期格式化为指定格式的字符串。
2. parse(CharSequence text)方法:将字符串解析为日期。
DateTimeFormatter类中的日期格式符号:
y——年;
M——月;
d——日;
H——时(24小时制);
h——时(12小时制);
m——分;
s——秒;
S——毫秒。
使用示例:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class TestDateTimeFormatter {
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(dtf1.format(now));
System.out.println(dtf2.format(now));
String str1 = "2020-05-21 11:23:34";
String str2 = "2020年05月21日 11时23分34秒";
DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
DateTimeFormatter dtf4 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
System.out.println(LocalDateTime.parse(str1, dtf3));
System.out.println(LocalDateTime.parse(str2, dtf4));
}
}
输出结果:
2020-05-21 11:23:34
2020年05月21日 11时23分34秒
2020-05-21T11:23:34
2020-05-21T11:23:34
感谢您的阅读,希望对您有所帮助!
