您的位置:

Java字符串时间戳转换成时间方法

引言

在日常开发工作中,时间戳和时间的转换是经常会用到的方法。而在Java中,就有非常简便的方法可以进行转换。本文将介绍Java中字符串时间戳转换成时间的方法。

基础知识

在Java中,时间戳通常是指自1970年1月1日00:00:00 GMT以来的毫秒数。而在Java的标准库中,可以很容易地将一个时间戳转换成日期表示。常用的类有:

  • System.currentTimeMillis(): 返回当前时间戳(自1970年1月1日00:00:00 GMT以来的毫秒数)。
  • java.util.Date: 表示日期和时间的类。
  • java.text.SimpleDateFormat: 用于将java.util.Date格式化成指定的字符串。

将时间戳转换成日期

使用Date类

将时间戳转换成日期最常用的方法是使用java.util.Date类,具体代码如下:

long timestamp = 1632086400000L; // 2021-09-20 00:00:00的时间戳
Date date = new Date(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(date);
System.out.println(strDate); // 输出:2021-09-20 00:00:00

在上面的代码中,先定义一个表示时间戳的变量timestamp,然后使用java.util.Date类将时间戳转换成日期对象date。最后使用java.text.SimpleDateFormat对日期对象进行格式化成指定的字符串表示。

使用Calendar类

另一种将时间戳转换成日期的方法是使用java.util.Calendar类,具体代码如下:

long timestamp = 1632086400000L; // 2021-09-20 00:00:00的时间戳
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestamp);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(calendar.getTime());
System.out.println(strDate); // 输出:2021-09-20 00:00:00

在上面的代码中,先定义一个表示时间戳的变量timestamp,然后使用java.util.Calendar类将时间戳转换成日历对象calendar。最后使用java.text.SimpleDateFormat对日历对象所代表的日期进行格式化成指定的字符串表示。

将日期转换成时间戳

使用Date类

将日期转换成时间戳最常用的方法是使用java.util.Date类,具体代码如下:

String strDate = "2021-09-20 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(strDate);
long timestamp = date.getTime();
System.out.println(timestamp); // 输出:1632086400000

在上面的代码中,先定义一个表示日期的字符串变量strDate,然后使用java.text.SimpleDateFormat将字符串表示的日期转换成日期对象date。最后使用java.util.Date类获取对应日期的时间戳。

使用Calendar类

另一种将日期转换成时间戳的方法是使用java.util.Calendar类,具体代码如下:

String strDate = "2021-09-20 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(strDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
long timestamp = calendar.getTimeInMillis();
System.out.println(timestamp); // 输出:1632086400000

在上面的代码中,先定义一个表示日期的字符串变量strDate,然后使用java.text.SimpleDateFormat将字符串表示的日期转换成日期对象date。接着使用java.util.Calendar类将日期对象转换成日历对象calendar。最后使用日历对象获取对应日期的时间戳。

总结

本文介绍了在Java中字符串时间戳转换成时间的方法,主要使用了Date类和Calendar类,并且涉及到了日期和时间的格式化处理。在使用这些类的时候,需要注意时间戳的单位是毫秒,而日期和时间的格式定义也要尽量精确。这些方法在实际开发中非常实用,相信大家在日常工作中会频繁用到。