Пример #1
0
 public static EorzeaTime Add(this EorzeaTime et,
                              int year   = default,
                              int month  = default,
                              int day    = default,
                              int hour   = default,
                              int minute = default)
 {
     return(new EorzeaTime(et.Year + year, et.Month + month, et.Day + day, et.Hour + hour, et.Minute + minute));
 }
Пример #2
0
        public static DateTime ToEarthTime(this EorzeaTime et)
        {
            var months  = MonthsOfYear * (et.Year - 1) + (et.Month - 1);
            var days    = DaysOfMonth * months + (et.Day - 1);
            var hours   = HoursOfDay * days + et.Hour;
            var minutes = MinutesOfHour * hours + et.Minute;
            var seconds = (long)Math.Round(minutes * TimeRate / MinutesOfHour);

            var utc = DateTimeOffset.FromUnixTimeSeconds(seconds);

            return(utc.DateTime);
        }
Пример #3
0
 public static EorzeaTime Set(this EorzeaTime et,
                              int?year   = default,
                              int?month  = default,
                              int?day    = default,
                              int?hour   = default,
                              int?minute = default)
 {
     return(new EorzeaTime(year ?? et.Year,
                           month ?? et.Month,
                           day ?? et.Day,
                           hour ?? et.Hour,
                           minute ?? et.Minute));
 }