C#中DateTime.Ticks属性及Unix时间戳转换
1.相关概念
DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒)。
Unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
1秒 = 1000毫秒
1毫秒 = 1000微妙
1微秒 = 1000纳秒
因此, 1毫秒 = 10000纳秒
2.DateTime变量与时间戳的相互转换
在实际使用中经常需要精确到毫秒,因此这里下面两个函数的使用单位都是“毫秒”,若要转换成“秒”,可以再除以或乘以1000。
/// <summary>
/// 获取1970-01-01至dateTime的毫秒数
/// </summary>
public long GetTimestamp(DateTime dateTime)
{
    DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    return (dateTime.Ticks - dt1970.Ticks) / 10000;
}
/// <summary>
/// 根据时间戳timestamp(单位毫秒)计算日期
/// </summary>
public DateTime NewDate(long timestamp)
{
    DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
    long t = dt1970.Ticks + timestamp * 10000;
    return new DateTime(t);
}C#中DateTime.Ticks属性及Unix时间戳转换的更多相关文章
- C# DateTime时间格式转换为Unix时间戳格式
		double ntime=dateTimeToUnixTimestamp(DateTime.Now); long g1 = GetUnixTimestamp(); long g2 = ConvertD ... 
- c# datetime与 timeStamp(unix时间戳) 互相转换
		/// <summary> /// Unix时间戳转为C#格式时间 /// </summary> /// <param name="timeStamp" ... 
- C#将unix时间戳转换成.net的DateTime类型的代码
		下面的内容是关于C#将unix时间戳转换成.net的DateTime类型的内容. DateTime epoch = new DateTime(1970,1,1,0,0,0,0, DateTimeKin ... 
- DateTime时间格式转换为Unix时间戳格式
		/// <summary> /// 将DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="date ... 
- JS中Unix时间戳转换日期格式
		<!doctype html> <html> <head> <title>Unix时间戳转换成日期格式</title> <script ... 
- C# Unix时间戳转换[转载]
		原文地址: C# Unix时间戳转换 遇到Unix时间戳转换的问题,遂记录下来. Unix时间戳转DateTime string UnixTime = "1474449764"; ... 
- unix时间戳转换成标准时间(c#)
		//---unix时间戳转换成标准时间(c#)---// /* string timeStamp = "1144821796"; DateTime dtSt ... 
- Unix时间戳转换怎样在Excel批量修改?
		最近在操作项目的时候碰到一个Unix时间戳转换的问题."date_time":1393031347这个是什么,你知道吗?如果你对Unix时间戳了解的话一眼就看出来.但我们本着科普的 ... 
- C# 和 Unix 时间戳转换
		unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒. /// 时间戳转为C#格式时间 private DateTime GetTime(string timeSt ... 
随机推荐
- ElasticSearch 5学习(8)——分布式文档存储(wait_for_active_shards新参数分析)
			学完ES分布式集群的工作原理以及一些基本的将数据放入索引然后检索它们的所有方法,我们可以继续学习在分布式系统中,每个分片的文档是被如何索引和查询的. 路由 首先,我们需要明白,文档和分片之间是如何匹配 ... 
- 三个不常用的HTML元素:<details>、<summary>、<dialog>
			前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或 ... 
- SharePoint 2013 Create taxonomy field
			创建taxonomy field之前我们首先来学习一下如果创建termSet,原因是我们所创建的taxonomy field需要关联到termSet. 简单介绍一下Taxonomy Term Stor ... 
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序
			0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ... 
- C# ShellExcute与Process
			C#运行外部程序的两种方法 ShellExecute using System.Runtime.InteropServices; public enum ShowWindowCommands : in ... 
- C#--图片上传(PC端和APP)保存及 跨域上传说明
			手动跨域操作文件 补录:跨域访问文件夹文件是一种常见的需求,下面主要介绍的的通过代码使用具有权限账号的人来达到跨域操作文件的能力. 现在补充一下普通的一些需求场景,今天就遇到了一种需要经常需要登录远程 ... 
- C#开发微信门户及应用(3)--文本消息和图文消息的应答
			微信应用如火如荼,很多公司都希望搭上信息快车,这个是一个商机,也是一个技术的方向,因此,有空研究下.学习下微信的相关开发,也就成为计划的安排事情之一了.本系列文章希望从一个循序渐进的角度上,全面介绍微 ... 
- 【工具】VS2010常用调试技巧(1)
			调试是一个程序员最基本的技能,其重要性不言自明.不会调试的程序员就意味着他即使会一门语言,却不能编制出好的软件.本文就本人在开发过程中常用的调试技巧作下简单呢介绍,希望对大家有所帮助,能力超群者请绕道 ... 
- 偷天换日:网络劫持,网页js被伪装替换。
			偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ... 
- 关于xml加载提示: Error on line 1 of document  : 前言中不允许有内容
			我是在java中做的相关测试, 首先粘贴下报错: 读取xml配置文件:xmls\property.xml org.dom4j.DocumentException: Error on line 1 of ... 
