0%

C# 时间戳与DateTime互转 - 晓晨Master - 博客园

Excerpt

#region 转换时间为unix时间戳 /// /// 转换时间为unix时间戳 /// /// 需要传递UTC时间,避免时区误差,例:DataTime.UTCNow /// public static double ConvertToUnixOfTime(DateTime da…


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
<span>#region</span> 转换时间为unix时间戳
<span>///</span> <span>&lt;summary&gt;</span>
<span>///</span><span> 转换时间为unix时间戳
</span><span>///</span> <span>&lt;/summary&gt;</span>
<span>///</span> <span>&lt;param name="date"&gt;</span><span>需要传递UTC时间,避免时区误差,例:DataTime.UTCNow</span><span>&lt;/param&gt;</span>
<span>///</span> <span>&lt;returns&gt;&lt;/returns&gt;</span>
<span>public</span> <span>static</span> <span>double</span><span> ConvertToUnixOfTime(DateTime date)
{
DateTime origin </span>= <span>new</span> DateTime(<span>1970</span>, <span>1</span>, <span>1</span>, <span>0</span>, <span>0</span>, <span>0</span>, <span>0</span><span>);
TimeSpan diff </span>= date -<span> origin;
</span><span>return</span><span> Math.Floor(diff.TotalSeconds);
}
</span><span>#endregion</span>

<span>#region</span> 时间戳转换为时间

<span>public</span> <span>static</span> DateTime StampToDateTime(<span>string</span><span> timeStamp)
{
DateTime dateTimeStart </span>= TimeZone.CurrentTimeZone.ToLocalTime(<span>new</span> DateTime(<span>1970</span>, <span>1</span>, <span>1</span><span>));
</span><span>long</span> lTime = <span>long</span>.Parse(timeStamp + <span>"</span><span>0000000</span><span>"</span><span>);
TimeSpan toNow </span>= <span>new</span><span> TimeSpan(lTime);
</span><span>return</span><span> dateTimeStart.Add(toNow);
}

</span><span>#endregion</span>