首先 我们可以通过代码
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年开始的时间戳都是一种通用的时间表示方式。