随笔 - 8  文章 - 1  评论 - 93  阅读 - 17353

.NET、PHP、MySql、JS中的时间戳你每次是手写还是复制?这篇文章让你一次性搞懂

什么是时间戳(chuō)?

答:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

 

为什么时间戳要从1970年01月01日00时00分00秒开始呢?

答:很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以为偶们常说的UNIX时间戳是以1970年1月1日0点为计时起点时间的。更复杂的解释可以参考这篇:https://blog.csdn.net/kang19940713/article/details/60466393/

 

格林尼治(格林威治)时间是什么?下图是:英国伦敦格林尼治天文台

答:世界时即格林尼治平太阳时间,是指格林尼治所在地的标准时间,也是表示地球自转速率的一种形式。简单点就是国际标准时间

 

北京时间与格林威治时间有什么不一样吗?

因为北京处于国际时区划分中的东八区,同格林威治时间(世界时)整整相差8小时(即北京时间=世界时+8小时),故命名为“北京时间”。

 

.NET中的时间戳,长度是:10位

//需要自己写函数生成时间戳,ts.TotalSeconds返回的是精确到毫秒的时间戳,我们用ConvertTo.Int64将精确到毫秒的时间戳转成精确到秒
public long GetTimeStamp() {
     TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0);
     return Convert.ToInt64(ts.TotalSeconds);
}
//根据北京时间进行生成的时间戳,将小时处:+8个小时即可
public
long GetTimeStamp() { TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 8, 0, 0); return Convert.ToInt64(ts.TotalSeconds); }

 

JS中的时间戳有三种方式

复制代码
//JS中的时间戳长度为:13位,是根据电脑或手机系统时区进行计算的
//精确到秒:1554219552000
var timestamp1 = Date.parse(new Date());
//精确到毫秒:1554219571036
var timestamp2 = (new Date()).valueOf();
//精确到毫秒:1554219579657
var timestamp3 = new Date().getTime();
//精确到秒的转换
var res = timestamp3.toString().substr(0, 10);
复制代码

 

PHP中的时间戳,长度是:10位

//PHP中的时间戳精确到秒
echo time();
//输出:1554219892

 

MySql中的时间戳,长度是:10位

#获取最新时间戳
SELECT UNIX_TIMESTAMP();
#指定一个固定时间获取时间戳
SELECT UNIX_TIMESTAMP('2019-04-03 10:16:24');
#时间戳转成:年月日时分秒格式
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP())

 

其他语言的时间戳由于我没有学过其他语言所以就不会啦,如果你会留言回复。

posted on   托尔斯泰NET  阅读(832)  评论(3编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示