时间戳

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

时间戳,也叫做Unix时间戳,就是从1970年1月1日0时0分0秒到当前时间的总秒数。

 

ruby中时间戳的使用

在ruby中通过to_i方法来获取这个值。

 
  1. irb(main):030:0> Time.now.to_i 
  2. => 1355205144 

 

如果需要把时间戳转换为具体的时间,通过Time.at方法来转换。

 
  1. irb(main):031:0> Time.at(Time.now.to_i) 
  2. => 2012-12-11 13:52:40 +0800 

 

C#中时间戳的使用

在C#中没有时间戳的概念,没有直接获取时间戳的类库,不过根据定义我们可以自己写一个方法。

 

获取时间戳

 
  1. private double getTimestamps() 
  2.    return (DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds; 

 

由时间戳转换为时间

 
  1. private DateTime getDateTime(double timestamps) 
  2.     return new DateTime(1970, 1, 1).AddSeconds(timestamps); 

 

在SQL Server中使用时间戳

在SQL Server也没有直接获取时间戳的方法,我们还是可以根据定义来写。

 

获取时间戳

 
  1. SELECT DATEDIFF(s,'1970-01-01 08:00:00',GETDATE()) AS TimeStamps 

 

从时间戳转换为时间

 
  1. DECLARE @Time NVARCHAR(15) 
  2. SET @Time='1355206394' 
  3. SELECT DATEADD(s,convert(int,@Time),'1970-01-01 08:00:00'as DTime

 

在SQL Server中还有一个容易和“时间戳”搞混的概念。

在SQL Server中,有一种列的类型叫做TIMESTAMP,这个TIMESTAMP翻译成中文也叫做“时间戳”。但是这个TIMESTAMP不是前面介绍的时间戳,不是从1970年1月1日0时0分0秒到当前时间的总秒数。

这个TIMESTAMP和时间没有任何的关系,它是一个二进制的数值,一张表只能有一个TIMESTAMP列,TIMESTAMP列不需要手动插入和更新。

在增加一行数据的时候,TIMESTAMP列就会自动添加,更新这行数据的时候,TIMESTAMP列会自动被更新成新值。

如果你使用select语句查询的话,TIMESTAMP列会显示为0x0000000000031511。

这个TIMESTAMP在SQL Server的表中是一个行版本的概念,可以用来做乐观并发控制。如果数据在获取到修改的中间有其他用户进行了修改,TIMESTAMP列就会自动发生变化,再次修改的时候就可以把TIMESTAMP作为匹配条件,来阻止修改,或者做其他的提示。

如果我们的某些信息需要版本的概念,同时只需要知道版本发生变化,而且不显示版本号,可以使用TIMESTAMP列,就不用自己设计编号来维护了。

 

参考文献

1.百度百科-时间戳 

 

 




本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/1085640,如需转载请自行联系原作者

目录
相关文章
|
存储 Kubernetes 监控
K8S核心组件介绍
K8S核心组件介绍
|
监控 前端开发 JavaScript
如何处理异步请求中的错误?
【10月更文挑战第29天】通过以上多种方法的综合运用,可以全面地处理异步请求中的各种错误,提高应用程序的稳定性和可靠性,同时为用户提供更好的错误反馈和体验。在实际开发中,应根据具体的项目需求和应用场景,选择合适的错误处理策略和方法,并进行充分的测试和优化。
|
12月前
|
存储 数据可视化 Linux
语雀停机事件后,你也在找替代方案吗?
2023年10月23日,语雀遭遇长达8小时的服务中断,严重影响了用户的日常工作和生活。事后官方提供了6个月免费会员作为补偿。此次事件引发用户对云笔记产品的可靠性思考,Obsidian和思源笔记因注重本地存留而受到关注。Obsidian支持双向链接、Markdown、本地存储及插件系统,适合个人知识管理;思源笔记则强调关系图谱和快速引用功能。此外,也有用户选择印象笔记、腾讯文档等云产品或使用编辑器+网盘的方式。如何选择合适的工具取决于个人需求和偏好。
1086 2
|
存储 缓存 JavaScript
JS:什么是时间戳?
JS:什么是时间戳?
555 2
|
前端开发 JavaScript Docker
拿下奇怪的前端报错(五):SyntaxError: Unexpected token ‘??=‘或‘xxx‘ - 基于容器搭建开发环境或许是更好的选择
在前端开发中,同时维护多个项目时可能会遇到不同Node.js版本的问题。低版本Node.js可能导致依赖无法安装或启动失败,而高版本Node.js则可能引起第三方库的兼容性问题。推荐使用Docker搭建独立的开发环境,以避免版本不一致带来的困扰。
3451 2
|
JavaScript 前端开发 开发者
如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。
【10月更文挑战第9天】随着前端开发技术的发展,代码规范和格式化工具变得至关重要。本文介绍如何在 VSCode 中使用 ESLint 和 Prettier 检查并自动格式化 Vue.js 代码,提升团队协作效率和代码质量。通过安装插件、配置 ESLint 和 Prettier,以及设置 VSCode,实现代码实时检查和格式化,确保代码风格一致。
2056 2
|
机器学习/深度学习 PyTorch 算法框架/工具
大模型微调
【7月更文挑战第31天】
654 4
|
数据采集 存储 中间件
Scrapy,作为一款强大的Python网络爬虫框架,凭借其高效、灵活、易扩展的特性,深受开发者的喜爱
【6月更文挑战第10天】Scrapy是Python的高效爬虫框架,以其异步处理、多线程及中间件机制提升爬取效率。它提供丰富组件和API,支持灵活的数据抓取、清洗、存储,可扩展到各种数据库。通过自定义组件,Scrapy能适应动态网页和应对反爬策略,同时与数据分析库集成进行复杂分析。但需注意遵守法律法规和道德规范,以合法合规的方式进行爬虫开发。随着技术发展,Scrapy在数据收集领域将持续发挥关键作用。
298 4
|
Linux
`grep`命令搜索多个文件中的特定模式
`grep`命令搜索多个文件中的特定模式
1025 2
|
存储 人工智能 数据挖掘
AI大模型量化
AI大模型量化
659 0