如何将任意格式的日期转换成时间戳
流程图:
flowchart TD
A[输入日期字符串] --> B(将日期字符串转换成Date对象)
B --> C(将Date对象转换成时间戳)
C --> D[输出时间戳]
步骤说明:
- 将日期字符串转换成Date对象
- 将Date对象转换成时间戳
- 输出时间戳
代码实现:
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimestampConverter {
public static void main(String[] args) {
String dateString = "2022-01-01 00:00:00";
String format = "yyyy-MM-dd HH:mm:ss";
// 将日期字符串转换成Date对象
Date date = parseDate(dateString, format);
// 将Date对象转换成时间戳
long timestamp = convertToTimestamp(date);
// 输出时间戳
System.out.println(timestamp);
}
/**
* 将日期字符串转换成Date对象
* @param dateString 日期字符串
* @param format 日期格式
* @return Date对象
*/
private static Date parseDate(String dateString, String format) {
DateFormat dateFormat = new SimpleDateFormat(format);
try {
return dateFormat.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* 将Date对象转换成时间戳
* @param date Date对象
* @return 时间戳
*/
private static long convertToTimestamp(Date date) {
return date.getTime();
}
}
解释代码:
-
parseDate
方法使用SimpleDateFormat
将日期字符串转换成Date
对象。其中,dateString
参数为日期字符串,format
参数为日期格式,根据实际情况进行修改。如果转换失败,则会打印异常信息并返回null
。 -
convertToTimestamp
方法将Date
对象转换成时间戳。通过getTime
方法获取自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数作为时间戳。 -
在
main
方法中,首先定义一个日期字符串dateString
和日期格式format
,可以根据实际情况进行修改。 -
然后调用
parseDate
方法将日期字符串转换成Date
对象。 -
接着调用
convertToTimestamp
方法将Date
对象转换成时间戳。 -
最后输出时间戳。
类图:
classDiagram
class TimestampConverter {
- String parseDate(String dateString, String format)
- long convertToTimestamp(Date date)
}
TimestampConverter
类包含两个私有方法:parseDate
和convertToTimestamp
。parseDate
方法用于将日期字符串转换成Date
对象。convertToTimestamp
方法用于将Date
对象转换成时间戳。