C#获取时间戳的方法及时间戳转换问题
MuziGL 人气:0因为一些原因,原本学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);
案例图:
注:时间戳后面那个除数,具体大小自己看需求决定。千万要注意这个除数,很重要!
加载全部内容