C# 几个常用的获取系统时间方法
|
admin
2026年10月17日 14:58
本文热度 49
|
public static class SystemTimeHelper { public static DateTime Now { get { return DateTime.Now; } } public static DateTime UtcNow { get { return DateTime.UtcNow; } } public static long UnixTimestamp { get { return ToUnixTimestamp(DateTime.UtcNow); } } public static long UnixTimestampMilliseconds { get { return ToUnixTimestampMilliseconds(DateTime.UtcNow); } } public static long UnixTimestampTicks { get { return DateTime.UtcNow.Ticks - UnixEpoch.Ticks; } } private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); public static long ToUnixTimestamp(DateTime time) { return (long)(ToUtc(time) - UnixEpoch).TotalSeconds; } public static long ToUnixTimestampMilliseconds(DateTime time) { return (long)(ToUtc(time) - UnixEpoch).TotalMilliseconds; } public static DateTime FromUnixTimestamp(long timestamp) { return UnixEpoch.AddSeconds(timestamp); } public static DateTime FromUnixTimestampMilliseconds(long timestamp) { return UnixEpoch.AddMilliseconds(timestamp); } public static TimeSpan UnixTimeSpan { get { return DateTime.UtcNow - UnixEpoch; } } public static TimeSpan ToTimeSpan(DateTime time) { return ToUtc(time) - UnixEpoch; } public static long TimeSpanToUnixTimestamp(TimeSpan timeSpan) { return (long)timeSpan.TotalSeconds; } public static long TimeSpanToUnixTimestampMilliseconds(TimeSpan timeSpan) { return (long)timeSpan.TotalMilliseconds; } public static string NowString { get { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } }
public static string GetNowString(string format) { return DateTime.Now.ToString(format); }
public static string GetUtcNowString(string format) { return DateTime.UtcNow.ToString(format); } public static string NowStringMilliseconds { get { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); } } public static string UtcNowString { get { return DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss"); } } private static DateTime ToUtc(DateTime time) { if (time.Kind == DateTimeKind.Utc) return time; if (time.Kind == DateTimeKind.Local) return time.ToUniversalTime(); return TimeZoneInfo.ConvertTimeToUtc( DateTime.SpecifyKind(time, DateTimeKind.Unspecified)); } }
DateTime now = SystemTimeHelper.Now;
DateTime utcNow = SystemTimeHelper.UtcNow;
long timestamp = SystemTimeHelper.UnixTimestamp;
long timestampMs = SystemTimeHelper.UnixTimestampMilliseconds;
TimeSpan timeSpan = SystemTimeHelper.UnixTimeSpan;
string time = SystemTimeHelper.NowString;
string timeMs = SystemTimeHelper.NowStringMilliseconds;
Now 2026-09-29 08:52:30UtcNow 2026-09-29 00:52:30UnixTimestamp 1790643150UnixTimestampMilliseconds 1790643150123UnixTimeSpan 20729.xxx 天NowString 2026-09-29 08:52:30NowStringMilliseconds 2026-09-29 08:52:30.123
该文章在 2026/10/17 14:58:45 编辑过