1
2
3
4
5
6
7
8
9
|
/// <summary>
/// 获取时间戳
/// </summary>
/// <returns></returns>
public
static
string
GetTimeStamp()
{
TimeSpan ts = DateTime.UtcNow -
new
DateTime(1970, 1, 1, 0, 0, 0, 0);
return
Convert.ToInt64(ts.TotalSeconds).ToString();
}
|
经常发现很多地方使用一个时间戳表示时间。比如: 1370838759 表示 2013年6月10日 12:32:39。 我们就需要一个工具,方便地转换这种时间格式
什么是时间戳?
时间戳, 又叫Unix Stamp. 从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
C# 时间戳转换为普通时间
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// 时间戳转为C#格式时间
private
DateTime StampToDateTime(
string
timeStamp)
{
DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(
new
DateTime(1970, 1, 1));
long
lTime =
long
.Parse(timeStamp +
"0000000"
);
TimeSpan toNow =
new
TimeSpan(lTime);
return
dateTimeStart.Add(toNow);
}
// DateTime时间格式转换为Unix时间戳格式
private
int
DateTimeToStamp(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(
new
System.DateTime(1970, 1, 1));
return
(
int
)(time - startTime).TotalSeconds;
}
|