123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- using System;
- using System.Globalization;
- namespace GFGGame
- {
- public class LauncherTimeUtil
- {
- private static DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
- private static readonly string[] Formats =
- {
- "HH:mm",
- "'['yyyy']['M']['dd']'",
- "'['yyyy']['MM']['d']'",
- "'['yyyy']['M']['d']'",
- "'['yyyy']['MM']['dd']'",
- "'['yyyy']['MM']['dd']['HH:mm']'",
- "'['yyyy']['MM']['dd']['H:mm']'",
- "'['yyyy']['M']['dd']['HH:mm']'",
- "'['yyyy']['M']['dd']['H:mm']'",
- "'['yyyy']['MM']['d']['HH:mm']'",
- "'['yyyy']['MM']['d']['H:mm']'",
- "'['yyyy']['M']['d']['HH:mm']'",
- "'['yyyy']['M']['d']['H:mm']'",
- "'['yyyy']['MM']['dd']['HH:mm:ss']'",
- "'['yyyy']['M']['dd']['HH:mm:ss']'",
- "'['yyyy']['MM']['d']['HH:mm:ss']'",
- "'['yyyy']['M']['d']['HH:mm:ss']'",
- };
- private static DateTime GetDateTime(string timeStr)
- {
- if (DateTime.TryParseExact(timeStr, Formats, null, DateTimeStyles.None, out var result))
- {
- return result;
- }
- throw new FormatException("Invalid date format");
- }
- //转换成时间戳,单位毫秒
- public static long GetTimestamp(string timeStr)
- {
- var dateTime = GetDateTime(timeStr);
- return Transition(dateTime);
- }
- // 获取当前时间的时间戳,单位毫秒
- public static long GetCurrentTimestamp()
- {
- DateTime now = DateTime.UtcNow;
- return Transition(now);
- }
- private static long Transition(DateTime d)
- {
- return (d.Ticks - dt.Ticks) / 10000;
- }
- }
- }
|