|
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;
}
|
