欢迎访问宙启技术站
智能推送

实现时间戳转换的Java函数

发布时间:2023-07-17 01:13:33

时间戳(Timestamp)一般指的是以秒为单位的整数,表示从1970年1月1日00:00:00(UTC,协调世界时)开始到某个时间点的秒数。在Java中,可以通过以下代码实现时间戳转换的函数:

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

public class TimestampConverter {

    public static String timestampToString(long timestamp) {
        // 创建SimpleDateFormat对象,设置日期时间的格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        // 将时间戳转换为Date对象
        Date date = new Date(timestamp * 1000);
        
        // 使用SimpleDateFormat对象格式化日期时间,并返回格式化后的字符串
        return sdf.format(date);
    }

    public static long stringToTimestamp(String datetime) {
        try {
            // 创建SimpleDateFormat对象,设置日期时间的格式
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            
            // 将字符串解析为Date对象
            Date date = sdf.parse(datetime);
            
            // 返回Date对象的时间戳(以秒为单位)
            return date.getTime() / 1000;
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    }

    public static void main(String[] args) {
        long timestamp = 1615125550;
        String datetime = timestampToString(timestamp);
        System.out.println("Timestamp to DateTime: " + datetime);
        
        String input = "2021-03-07 12:30:50";
        long newTimestamp = stringToTimestamp(input);
        System.out.println("DateTime to Timestamp: " + newTimestamp);
    }
}

这段代码包含了两个函数:timestampToStringstringToTimestamp,分别用于将时间戳转换为日期时间字符串和将日期时间字符串转换为时间戳。

timestampToString函数接收一个时间戳作为参数,使用SimpleDateFormat类将时间戳转换为Date对象,然后使用format方法将Date对象格式化为指定的日期时间字符串,并返回。

stringToTimestamp函数接收一个日期时间字符串作为参数,同样使用SimpleDateFormat类将字符串解析为Date对象,然后使用getTime方法获取该Date对象的时间戳(以毫秒为单位),并除以1000转换为以秒为单位的时间戳返回。

main方法中,分别调用这两个函数进行测试,输出结果分别为时间戳转换为日期时间字符串和日期时间字符串转换为时间戳的结果。

通过这两个函数,我们可以方便地将时间戳与日期时间字符串之间进行转换。