C#获取时间戳的方法及时间戳转换问题

因为一些原因,原本学Java的我,也兼顾了C#,做了好几个差不多相同的项目,就那么一个月的时间,总觉得,学了两年的Java算是白学了,这里吧,我的意思不是说真的白学啥的,只是想告诉大家,想真的学好一门语言,最重要的还是边学边应用,只有将学到的实际应用上去,才能真正学明白,学懂吧。

所以在此,留下一篇我学习C#遇见的问题吧,有关时间戳和日期互换的问题,找了不少地方有的讲不清,有的要收米,真的挺不容易的哎。希望大家能好好学哈。

注意:一定要注意我后面的每个除数,数值的差距,会导致时间的不同!!!千万注意!!!尤其是最后一个案例,时间戳转成日期的那个,除数和乘数的关系!

一:日期转化成时间戳

// 当前日期转换成时间戳
long time1 = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;

案例图:

二:将当前日期的前后指定的天数转换成时间戳

// 将当前日期的前后指定的天数转换成时间戳
long time2 = ((DateTime.Now.AddDays(i).ToUniversalTime().Ticks - 621355968000000000) / 10000000);
 
// 将当前日期的前后指定的天数转换成时间戳
// 只获取年月日的日期时间戳
long time2 = ((DateTime.Now.AddDays(i).Date.ToUniversalTime().Ticks - 621355968000000000) / 10000000);

案例图:

三:将指定日期转换成时间戳:如 2022-8-22 22:56:30

// 将指定日期转换成时间戳:如 2022-8-22 22:56:30
long time3 = ((new DateTime(2022,8,22,22,56,30).ToUniversalTime().Ticks - 621355968000000000) / 10000000);

案例图:

四:将时间戳转换成日期

// 获取一个时间戳long time4 = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;// 时间戳的开始时间DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));// 这个我也不太明白,照抄吧,加油!有知道的大佬,评论一下,给我讲解一下,谢谢!TimeSpan toNow = new TimeSpan(time4 * 10000000);// 这里看个人需求,我的需求就是得到字符串形式的日期:2022-8-22String targetDt = dtStart.Add(toNow).ToString("yyyy-MM-dd");// 原数据DateTime targetDt = dtStart.Add(toNow);

案例图:

C#获取时间戳的方法及时间戳转换问题_第1张图片

注:时间戳后面那个除数,具体大小自己看需求决定。千万要注意这个除数,很重要!

到此这篇关于C#获取时间戳的方法及时间戳转换问题的文章就介绍到这了,更多相关C#获取时间戳及时间戳转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(C#获取时间戳的方法及时间戳转换问题)