我正在使用自定義函數來取當前日期並減去它的日子,然後以unix格式返回一個時間戳。除預期輸出不正確之外,所有轉換都正常工作。我想通過設置Unix時間戳函數沒有返回預期的時間戳,錯誤的時區?
日期時間(DateTime.UtcNow.Year,DateTime.UtcNow.Month,DateTime.UtcNow.Day,0,0,0)
到0,0,0
,它將給我午夜的一天,但它給了我5am(GMT)。
我的自定義函數:
public static int getUnixTimestamp(int days) {
// Date to convert
DateTime dateTime = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day, 0, 0, 0).AddDays(-days);
return (int)(TimeZoneInfo.ConvertTimeToUtc(dateTime) -
new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc)).TotalSeconds;
}
什麼可能會導致這將是巨大的任何意見或反饋,謝謝!
是不是Unix時間戳_seconds_自時代以來,而不是幾天? – silkfire
@silkfire這應該不重要我不會想,我將日期時間轉換爲unix時間戳。 –
對不起,錯過了那部分。你有沒有試過.NET v4.6中提供的'DateTimeOffset.ToUnixTimeSeconds'方法? – silkfire