Beispiel #1
0
        public FsUnixTime(System.DateTimeOffset time)
        {
            if (time < FsUnixTime.EpochDateTime)
            {
                throw new System.ArgumentOutOfRangeException(nameof(time));
            }

            long v = (long)time.Subtract(FsUnixTime.EpochDateTime).TotalMilliseconds;

            if (v < 0)
            {
                throw new System.ArgumentOutOfRangeException(nameof(time));
            }

            this.MillisecondsSinceEpoch = v;
        }
Beispiel #2
0
 public override IValue Subtract(Context context, IValue value)
 {
     if (value is DateTimeValue)
     {
         System.DateTimeOffset ldt = this.Value.ToLocalTime();
         System.DateTimeOffset rdt = ((DateTimeValue)value).Value.ToLocalTime();
         TimeSpan res = ldt.Subtract(rdt);
         return(new PeriodValue(0, 0, 0, res.Days, res.Hours, res.Minutes, res.Seconds, res.Milliseconds));
     }
     if (value is PeriodValue)
     {
         return(this.minus((PeriodValue)value));
     }
     else
     {
         throw new SyntaxError("Illegal: DateTime - " + value.GetType().Name);
     }
 }