4
C#中PHP mktime和microtime的等價物是什麼?PHP mktime()和microtime()等效於C#
C#中PHP mktime和microtime的等價物是什麼?PHP mktime()和microtime()等效於C#
有沒有直接的等價物,但他們可以很容易地實現。既然UNIX時間戳是自1970年1月1日的秒數,很容易計算:
public readonly DateTime UnixEpoch = new DateTime(1970, 1, 1);
// equivalent to PHP mktime :
public int GetUnixTimestamp(DateTime dt)
{
TimeSpan span = dt - UnixEpoch;
return (int)span.TotalSeconds;
}
對於microtime中,你可以使用DateTime.Tick屬性(1 tick = 100納秒,所以10 ticks = 1微秒)
下面是mktime
(你必須確認時區,雖然):
static DateTime ConvertFromUnixTimestamp(double timestamp)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp);
}
static int ConvertToUnixTimestamp(DateTime date)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan diff = date - origin;
return (int)diff.TotalSeconds;
}
microtime
基本上是相同的,但你不必強制轉換爲int
。