巩义做网站优化开封网络推广公司
Java中常见的时间类有:Date、Calendar、SimpleDateFormat等。下面对不同时间类之间的转换进行介绍。
1、Date和Calendar之间的转换
Date和Calendar都可以表示时间,但是它们的使用方式不同。Date是一个表示特定时间点的类,而Calendar则是一个带有日历信息的类,可以进行日期和时间的计算。在Date和Calendar之间进行转换,可以使用如下代码:
// Date转换为Calendar
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);// Calendar转换为Date
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
2、Date和字符串之间的转换
在Java中,可以使用SimpleDateFormat类将Date类型转换为字符串类型,也可以将字符串类型转换为Date类型。代码如下:
// Date类型转换为字符串类型
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(date);// 字符串类型转换为Date类型
String strDate = "2022-10-01 12:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(strDate);
3、Calendar和字符串之间的转换
将Calendar类型转换为字符串类型,可以使用SimpleDateFormat类,也可以直接调用Calendar类的toString()方法。将字符串类型转换为Calendar类型,需要先将字符串转换为Date类型,再利用Calendar实例转换。
// Calendar类型转换为字符串类型
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(calendar.getTime());// 字符串类型转换为Calendar类型
String strDate = "2022-10-01 12:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(strDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
4、时间戳转换
可以使用Java中的java.time和java.util包来实现时间转换为时间戳的功能。
以下是一个示例代码:
import java.time.LocalDateTime;
import java.time.ZoneOffset;public class TimeUtil {public static long getTimeStamp(String timeStr) {LocalDateTime localDateTime = LocalDateTime.parse(timeStr);return localDateTime.toEpochSecond(ZoneOffset.ofHours(8));}public static void main(String[] args) {String timeStr = "2022-01-01T00:00:00";long timeStamp = getTimeStamp(timeStr);System.out.println("时间:" + timeStr);System.out.println("时间戳:" + timeStamp);}
}
在上面的代码中,我们首先将传入的时间字符串解析为LocalDateTime对象,然后使用toEpochSecond方法将其转换为以秒为单位的时间戳。在这个示例中,我们使用了UTC+8时区,你可以根据需要修改时区。