在Java开发中,我们经常需要对时间和时间戳进行转换。时间通常以“年月日时分秒”等格式表示,而时间戳则是一个整数值。因此,学会如何在Java中实现时间和时间戳的相互转换是非常重要的。
一、获取当前时间及时间戳
Java中获取当前时间及时间戳的方法非常简单,可以使用系统提供的java.util.Date
和System.currentTimeMillis()
方法。
import java.util.Date;
public class TimeStamp {
public static void main(String[] args){
// 获取当前时间
Date now = new Date();
System.out.println("当前时间:"+now);
// 获取当前时间戳
long timeStamp = System.currentTimeMillis();
System.out.println("当前时间戳:"+timeStamp);
}
}
运行以上代码,可以分别得到当前的时间和时间戳。
二、时间戳转换为时间
将时间戳转换为时间,可以使用java.util.Date
类的构造函数或者格式化工具类java.text.SimpleDateFormat
。
1、使用java.util.Date构造函数
import java.util.Date;
public class TimeStamp {
public static void main(String[] args){
// 时间戳转换为时间
long timeStamp = 1488326400000L;
Date date = new Date(timeStamp);
System.out.println("时间戳为:"+timeStamp+" 的时间为:"+date);
}
}
运行以上代码,可以得到当前时间戳所对应的时间。
2、使用java.text.SimpleDateFormat格式化工具类
对于更加复杂的时间格式,可以使用java.text.SimpleDateFormat
类,它提供了多种格式化日期的方法。
import java.util.Date;
import java.text.SimpleDateFormat;
public class TimeStamp {
public static void main(String[] args){
// 时间戳转换为时间
long timeStamp = 1488326400000L;
// 设置格式化格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 格式化时间
String date = sdf.format(new Date(timeStamp));
System.out.println("时间戳为:"+timeStamp+" 的时间为:"+date);
}
}
运行以上代码,可以得到当前时间戳所对应的具体时间。
三、时间转换为时间戳
将时间转换为时间戳,可以使用java.util.Date
类中的getTime()
方法,该方法返回自 1970 年 1 月 1 日以来,以毫秒为单位的时间。
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeStamp {
public static void main(String[] args) {
// 时间转换为时间戳
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = "2017-03-01 00:00:00";
Date date = sdf.parse(time);
// 转换为时间戳并输出
long timeStamp = date.getTime();
System.out.println("时间为:"+time+" 的时间戳为:"+timeStamp);
}
}
运行以上代码,可以得到当前时间所对应的时间戳。
总结
本文介绍了Java中时间和时间戳的相互转换方法,包括获取当前时间和时间戳、时间戳转换为时间、时间转换为时间戳等。
无论在Web开发、移动开发还是桌面开发中,时间和时间戳的转换都是常见的需求。本文介绍的方法是Java中最基本的方法,当然还有其他库和框架也提供了更加强大和方便的时间处理方法,读者可以根据自己的需求进行选择。