引言
在日常开发工作中,时间戳和时间的转换是经常会用到的方法。而在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
类,并且涉及到了日期和时间的格式化处理。在使用这些类的时候,需要注意时间戳的单位是毫秒,而日期和时间的格式定义也要尽量精确。这些方法在实际开发中非常实用,相信大家在日常工作中会频繁用到。