我有以下代码,它将字符串作为输入,并转换为 UNIX 时间戳。我想在 golang 中做同样的事情,但我无法识别在 Go 中将提供等效于 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 对应时间:10/15/2015 3:09:36 AM +00:00
有人可以帮助我解决方法以获得上述结果。
皈依舞
相关分类