天天都在用的时间戳你知道它的这串数字是怎么来的吗?讲述时间戳基本概念与起点的选择

发布时间:2024年01月16日

首先 我们可以通过代码

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

public class Main {
    public static void main(String[] args) {
        String dateString = "2022-01-21";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date = sdf.parse(dateString);
            long timestamp = date.getTime();
            System.out.println("时间戳:" + timestamp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

将某个时间转为时间搓 例如 这里我们写的 2022-01-21
在这里插入图片描述
但是这个 时间戳 到底是什么呢?
它这串数字 是怎么来的呢?

其实 它就是
格林威治 时间的 1970年1月1号 0点0分0秒
北京 时间的 1970年1月1号 8点0分0秒

从这个时间 到现在所经过的总秒数
例如 我们这里来转 1970年1月1号 8点0分0秒

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

public class Main {
    public static void main(String[] args) {
        String dateTimeString = "1970-01-01 08:00:00";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            Date date = sdf.parse(dateTimeString);
            long timestamp = date.getTime();
            System.out.println("时间戳:" + timestamp);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这里 就变成了 0 因为 这是起点
在这里插入图片描述
那么 我们给个更早的时间
例如 这里 我们给 1960 它就变为负数了
在这里插入图片描述
时间戳从1970年开始是因为这个时间点被选择为Unix操作系统的基准时间。Unix操作系统是一种非常常见的操作系统,它在计算机科学领域有着广泛的应用。1970年1月1日被称为Unix纪元(或者称为Unix时间戳或者Unix时间),并且被定义为时间戳的起始点。

这种选择的原因主要是出于历史和技术的考虑。在Unix系统中,时间戳被表示为从Unix纪元开始的秒数。这种表示方法非常简单,同时也可以很容易地转换为日期和时间。因此,Unix时间戳成为了计算机系统中广泛使用的时间表示方法。

由于Unix系统的普及和影响,时间戳从1970年开始成为了一种通用的时间表示方式,被广泛应用于各种计算机系统和编程语言中。因此,无论你使用哪种编程语言或操作系统,1970年开始的时间戳都是一种通用的时间表示方式。

文章来源:https://blog.csdn.net/weixin_45966674/article/details/135615165
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。