利用Java函数实现日期格式化及时间戳转换的方法总结
java中对日期的操作是非常常见的,比如需要将日期格式化成特定的格式、需要将时间戳转化为日期等等。本篇文章将为大家介绍Java中日期格式化及时间戳转换的相关方法。
1.日期格式化
1.1 SimpleDateFormat类
这个类是Java中常用的日期格式化类。它可以将指定格式的字符串转化为日期对象,也可以将日期对象转化为指定格式的字符串。它的构造方法接收一个String类型的参数,表示日期格式。
示例代码:
import java.text.SimpleDateFormat;
import java.util.*;
public class DateUtil {
public static String format(Date date,String format){
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
return dateFormat.format(date);
}
}
在上面的代码中,我们定义了一个DateUtil类,并定义了一个format()方法,该方法接收两个参数:一个日期对象和一个日期格式的字符串。在方法中,我们创建了一个SimpleDateFormat对象,并将日期格式的字符串传递给构造函数,然后调用dateFormat.format()方法,将日期对象转换为字符串。
使用示例:
public static void main(String[] args) {
Date now = new Date();
String format1 = DateUtil.format(now,"yyyy-MM-dd HH:mm:ss");
String format2 = DateUtil.format(now,"yyyy/MM/dd");
String format3 = DateUtil.format(now,"yyyy年MM月dd日");
System.out.println(format1);
System.out.println(format2);
System.out.println(format3);
}
输出结果:
2021-05-20 13:59:21 2021/05/20 2021年05月20日
1.2 DateTimeFormatter类
DateTimeFormatter类是Java 8中引入的日期时间格式化类。它可以将日期时间格式化为指定的字符串,并且支持线程安全。
示例代码:
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateUtil {
public static String format(LocalDateTime datetime,String pattern){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return datetime.format(formatter);
}
}
在上面的代码中,我们定义了一个DateUtil类,并定义了一个format()方法,该方法接收两个参数:一个LocalDateTime对象和一个日期格式字符串。在方法中,我们使用DateTimeFormatter.ofPattern()方法创建一个DateTimeFormatter对象,并将日期格式字符串传递给它,然后调用datetime.format()方法将日期格式化为字符串。
使用示例:
public static void main(String[] args) {
LocalDateTime now = LocalDateTime.now();
String format1 = DateUtil.format(now,"yyyy-MM-dd HH:mm:ss");
String format2 = DateUtil.format(now,"yyyy/MM/dd");
String format3 = DateUtil.format(now,"yyyy年MM月dd日");
System.out.println(format1);
System.out.println(format2);
System.out.println(format3);
}
输出结果:
2021-05-20 14:06:48 2021/05/20 2021年05月20日
2.时间戳转换
2.1 Date类
Date类是Java中表示时间戳的类,它的构造函数接收一个long类型的参数,表示1970年1月1日0时0分0秒到当前时间的毫秒数。
示例代码:
import java.util.Date;
public class DateUtil {
public static Date toDate(long timestamp){
return new Date(timestamp);
}
}
在上面的代码中,我们定义了一个DateUtil类,并定义了一个toDate()方法,该方法接收一个时间戳参数,并返回一个Date对象。
使用示例:
public static void main(String[] args) {
long timestamp = 1621493363000L;
Date date = DateUtil.toDate(timestamp);
System.out.println(date);
}
输出结果:
Thu May 20 14:22:43 CST 2021
2.2 Instant类
Instant类是Java 8中引入的一个表示时间戳的类。它的now()方法可以获取当前时间戳,也可以通过ofEpochMilli()方法创建一个指定时间戳的Instant对象,它还实现了toEpochMilli()方法,用于将Instant对象转换为时间戳。
示例代码:
import java.time.Instant;
public class DateUtil {
public static Instant toInstant(long timestamp){
return Instant.ofEpochMilli(timestamp);
}
public static long toTimestamp(Instant instant){
return instant.toEpochMilli();
}
}
在上面的代码中,我们定义了一个DateUtil类,并定义了两个方法:toInstant()和toTimestamp()。toInstant()方法接收一个时间戳参数,并返回一个Instant对象;toTimestamp()方法接收一个Instant对象,并返回一个long类型的时间戳。
使用示例:
public static void main(String[] args) {
long timestamp = 1621493363000L;
Instant instant = DateUtil.toInstant(timestamp);
long timestamp2 = DateUtil.toTimestamp(instant);
System.out.println(timestamp2);
}
输出结果:
1621493363000
以上就是Java中日期格式化及时间戳转换的方法总结,希望对大家有所帮助!
