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

介绍

在Java开发中,经常需要将时间字符串转换成时间戳。时间戳是指某个时间点距离1970年1月1日00:00:00的毫秒数。本文将教你如何实现Java时间字符串到时间戳的转换。

流程图

flowchart TD
    A[开始]-->B[将时间字符串解析成日期对象]
    B-->C[将日期对象转换成时间戳]
    C-->D[返回时间戳]
    D-->E[结束]

步骤详解

下面将详细介绍每个步骤需要做什么,以及需要使用的代码。

1. 将时间字符串解析成日期对象

在Java中,可以使用SimpleDateFormat类将时间字符串解析成日期对象。以下是代码示例:

import java.text.SimpleDateFormat;
import java.util.Date;

public class TimeConverter {
    public static Date parseStringToDate(String timeString, String format) throws Exception {
        SimpleDateFormat dateFormat = new SimpleDateFormat(format);
        return dateFormat.parse(timeString);
    }
}

解释:

  • SimpleDateFormat 是一个用于格式化日期的类。
  • parseStringToDate 方法接收两个参数:时间字符串和日期格式。
  • SimpleDateFormat 类的 parse 方法可以将时间字符串转换成日期对象。

2. 将日期对象转换成时间戳

在Java中,可以使用Date类的 getTime() 方法将日期对象转换成时间戳。以下是代码示例:

public class TimeConverter {
    public static long convertDateToTimestamp(Date date) {
        return date.getTime();
    }
}

解释:

  • Date 类的 getTime() 方法返回日期对象的时间戳。

3. 返回时间戳

在使用以上两个方法后,可以得到时间戳,并将其返回给调用者。以下是代码示例:

public class TimeConverter {
    public static long convertStringToTimestamp(String timeString, String format) throws Exception {
        Date date = parseStringToDate(timeString, format);
        return convertDateToTimestamp(date);
    }
}

解释:

  • convertStringToTimestamp 方法接收时间字符串和日期格式两个参数。
  • 调用 parseStringToDate 方法将时间字符串解析成日期对象。
  • 调用 convertDateToTimestamp 方法将日期对象转换成时间戳。

示例

假设时间字符串为 "2021-01-01 12:00:00",日期格式为 "yyyy-MM-dd HH:mm:ss",我们可以使用以下代码将其转换成时间戳:

public class Main {
    public static void main(String[] args) {
        String timeString = "2021-01-01 12:00:00";
        String format = "yyyy-MM-dd HH:mm:ss";
        
        try {
            long timestamp = TimeConverter.convertStringToTimestamp(timeString, format);
            System.out.println("时间字符串对应的时间戳为:" + timestamp);
        } catch (Exception e) {
            System.out.println("转换失败:" + e.getMessage());
        }
    }
}

输出结果为:

时间字符串对应的时间戳为:1609473600000

总结

本文介绍了如何将Java时间字符串转换成时间戳的步骤和代码示例。通过以下几个步骤,可以完成时间字符串到时间戳的转换:

  1. 将时间字符串解析成日期对象。
  2. 将日期对象转换成时间戳。
  3. 返回时间戳给调用者。

希望本文对刚入行的小白有所帮助!