我有下面的代碼將一個字符串作爲輸入轉換爲UNIX時間戳。我想在golang中做同樣的事情,但我無法識別在Go中會給出等價的DateTimeOffset結構的結構或函數。什麼是轉換爲UNIX時間戳的C#DateTimeOffset相當於
class Program
{
static void Main(string[] args)
{
var date = GetUtcTimestampFromAttribute();
Console.WriteLine(date);
if (date != null)
{
Console.WriteLine(ToUnixTimeStamp(date.Value));
}
Console.ReadKey();
}
public static DateTimeOffset? GetUtcTimestampFromAttribute()
{
var ticks = long.Parse("7036640000000");
Console.WriteLine(ticks);
return GetUtcTimestampFromTicks(ticks);
}
public static DateTimeOffset? GetUtcTimestampFromTicks(long ticks)
{
Console.WriteLine(new DateTimeOffset(ticks, TimeSpan.Zero));
return ticks != 0 ?
new DateTimeOffset(ticks, TimeSpan.Zero) :
(DateTimeOffset?)null;
}
public static long ToUnixTimeStamp(DateTimeOffset timeStamp)
{
var epoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
return Convert.ToInt64((timeStamp - epoch).TotalSeconds);
}
}
例如:
輸入:635804753769100000
輸出:1444878577
在UTC相應時間:二零一五年十月十五日上午03點09分36秒+00:00
有人可以幫助我的解決方法來獲得上述結果。
感謝
我不想要一個時間分區輸出。我需要一個Unix時間戳。我正在使用C#,但我無法將它放在代碼中。 – Prashant
@Prashant閱讀lib文檔,我只是給了一個簡單的例子。基本上'time.Time'對象可以以秒或納秒的分辨率轉換爲unix時間戳。 –
是@not_a_Golfer,但我的問題是我無法將該輸入號碼轉換爲有效的時間對象。 – Prashant