- 前言
- 标准格林威治时间
- 标准北京时间
- 时间对照表
- 时间戳在线转换工具
- 代码如下
- 输出效果
- 补充:C#时间格式说明
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)
是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
Unix时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z.
一个小时表示为Unix时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。
在大多数的Unix系统中Unix时间戳存储为32位,这样会引发2038年问题或Y2038。
1970年01月01日 00时00分00秒 起 至现在的总(毫)秒数
标准北京时间1970年01月01日 08时00分00秒 起 至现在的总(毫)秒数
时间对照表| 时间 | 秒 |
|---|---|
| 1 分钟 | 60 |
| 1 小时 | 3600 |
| 1 天 | 86400 |
| 1 周 | 604800 |
| 1 月 (30.44 天) | 2629743 |
| 1年 (365.24 天) | 31556736 |
https://tool.lu/timestamp
代码如下///输出效果/// 时间戳操作类 /// public class CommonTimeStamp { #region 标准北京时间(1970年01月01日08时00分00秒) #region 10位时间戳转换(秒级) ////// 【秒级】获取时间(北京时间) /// /// 10位时间戳 public static DateTime GetDateTimeSeconds(long timestamp) { long begtime = timestamp * 10000000; DateTime dt_1970 = new DateTime(1970, 1, 1, 8, 0, 0); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度 long time_tricks = tricks_1970 + begtime;//日志日期刻度 DateTime dt = new DateTime(time_tricks);//转化为DateTime return dt; } ////// 【秒级】生成10位时间戳(北京时间) /// /// 时间 public static long GetTimeStampSeconds(DateTime dt) { DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0); return Convert.ToInt64((dt - dateStart).TotalSeconds); } #endregion #region 13位时间戳转换(毫秒级) ////// 【毫秒级】获取时间(北京时间) /// /// 10位时间戳 public static DateTime GetDateTimeMilliseconds(long timestamp) { long begtime = timestamp * 10000; DateTime dt_1970 = new DateTime(1970, 1, 1, 8, 0, 0); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度 long time_tricks = tricks_1970 + begtime;//日志日期刻度 DateTime dt = new DateTime(time_tricks);//转化为DateTime return dt; } ////// 【毫秒级】生成13位时间戳(北京时间) /// /// 时间 public static long GetTimeStampMilliseconds(DateTime dt) { DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0); return Convert.ToInt64((dt - dateStart).TotalMilliseconds); } #endregion #endregion #region 标准格林威治时间(Unix时间戳:1970年01月01日00时00分00秒) #region 10位时间戳转换(秒级) ////// 【秒级】获取时间(格林威治时间) /// /// 10位时间戳 public static DateTime GetUnixDateTimeSeconds(long timestamp) { long begtime = timestamp * 10000000; DateTime dt_1970 = new DateTime(1970, 1, 1, 0, 0, 0); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度 long time_tricks = tricks_1970 + begtime;//日志日期刻度 DateTime dt = new DateTime(time_tricks);//转化为DateTime return dt; } ////// 【秒级】生成10位时间戳(格林威治时间) /// /// 时间 public static long GetUnixTimeStampSeconds(DateTime dt) { DateTime dateStart = new DateTime(1970, 1, 1, 0, 0, 0); return Convert.ToInt64((dt - dateStart).TotalSeconds); } #endregion #region 13位时间戳转换(毫秒级) ////// 【毫秒级】获取时间(格林威治时间) /// /// 10位时间戳 public static DateTime GetUnixDateTimeMilliseconds(long timestamp) { long begtime = timestamp * 10000; DateTime dt_1970 = new DateTime(1970, 1, 1, 0, 0, 0); long tricks_1970 = dt_1970.Ticks;//1970年1月1日刻度 long time_tricks = tricks_1970 + begtime;//日志日期刻度 DateTime dt = new DateTime(time_tricks);//转化为DateTime return dt; } ////// 【毫秒级】生成13位时间戳(格林威治时间) /// /// 时间 public static long GetUnixTimeStampMilliseconds(DateTime dt) { DateTime dateStart = new DateTime(1970, 1, 1, 0, 0, 0); return Convert.ToInt64((dt - dateStart).TotalMilliseconds); } #endregion #endregion }
-
标准格林威治时间
datetime格式:(秒级)
2021-10-11 18:00:07
10位时间戳:
1633975207
datetime格式:(毫秒级)
2021-10-11 18:03:02.197
13位时间戳:
1633975382197
-
标准北京时间
datetime格式:(秒级)
2021-10-11 17:57:42
10位时间戳:
1633946262
datetime格式:(毫秒级)
2021-10-11 17:12:19.457
13位时间戳:
1633943539457
日期格式:yyyyMMdd HH:mm:ss(注意严格区分字母大小写)
d月中的某一天。一位数的日期没有前导零。
dd月中的某一天。一位数的日期有一个前导零。
ddd周中某天的缩写名称,在AbbreviatedDayNames中定义。
dddd周中某天的完整名称,在DayNames中定义。
M月份数字。一位数的月份没有前导零。
MM月份数字。一位数的月份有一个前导零。
MMM月份的缩写名称,在AbbreviatedMonthNames中定义。
MMMM月份的完整名称,在MonthNames中定义。
y不包含纪元的年份。如果不包含纪元的年份小于10,则显示不具有前导零的年份。
yy不包含纪元的年份。如果不包含纪元的年份小于10,则显示具有前导零的年份。
yyyy包括纪元的四位数的年份。
gg时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h12小时制的小时。一位数的小时数没有前导零。
hh12小时制的小时。一位数的小时数有前导零。
H24小时制的小时。一位数的小时数没有前导零。
HH24小时制的小时。一位数的小时数有前导零。
m分钟。一位数的分钟数没有前导零。
mm分钟。一位数的分钟数有一个前导零。
s秒。一位数的秒数没有前导零。
ss秒。一位数的秒数有一个前导零。
f秒的小数精度为一位。其余数字被截断。
ff秒的小数精度为两位。其余数字被截断。
fff秒的小数精度为三位。其余数字被截断。
ffff秒的小数精度为四位。其余数字被截断。
fffff秒的小数精度为五位。其余数字被截断。
ffffff秒的小数精度为六位。其余数字被截断。
fffffff秒的小数精度为七位。其余数字被截断。



