Exemplo n.º 1
0
        public object Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
        {
            var value  = context.Reader.ReadDateTime();
            var bdt    = new BsonDateTime(value);
            var result = bdt.ToLocalTime();

            return(result);
        }
 public void TestAsLocalTime()
 {
     var now = DateTime.Now;
     var nowTruncated = now.AddTicks(-(now.Ticks % 10000));
     var bsonDateTime = new BsonDateTime(now);
     var localDateTime = bsonDateTime.ToLocalTime();
     Assert.AreEqual(DateTimeKind.Local, localDateTime.Kind);
     Assert.AreEqual(nowTruncated, localDateTime);
 }
        public void TestAsLocalTime()
        {
            var now           = DateTime.Now;
            var nowTruncated  = now.AddTicks(-(now.Ticks % 10000));
            var bsonDateTime  = new BsonDateTime(now);
            var localDateTime = bsonDateTime.ToLocalTime();

            Assert.AreEqual(DateTimeKind.Local, localDateTime.Kind);
            Assert.AreEqual(nowTruncated, localDateTime);
        }
        public bool IsSpotAvaible(BsonDateTime starDateTime, BsonDateTime endDateTime, ISpot spot)
        {
            if (starDateTime.ToLocalTime().Day == endDateTime.ToLocalTime().Day)
            {
                foreach (var daylyAvailableHour in spot.DaylyAvailableHours[starDateTime.ToLocalTime().ToString("dddd", new CultureInfo("en-US"))]
                         )
                {
                    if (daylyAvailableHour.From.ToLocalTime().TimeOfDay <= starDateTime.ToLocalTime().TimeOfDay&&
                        daylyAvailableHour.To.ToLocalTime().TimeOfDay >= endDateTime.ToLocalTime().TimeOfDay)
                    {
                        return(true);
                    }
                }
            }
            else
            {
                foreach (var timeInterval in spot.DaylyAvailableHours[starDateTime.ToLocalTime().ToString("dddd", new CultureInfo("en-US"))])
                {
                    var date = starDateTime.ToLocalTime().AddDays(1);
                    var mid  = new DateTime(date.Year, date.Month, date.Day, 0, 0, 0);

                    if (timeInterval.From.ToLocalTime().TimeOfDay > starDateTime.ToLocalTime().TimeOfDay ||
                        timeInterval.To.ToLocalTime().TimeOfDay != mid.TimeOfDay)
                    {
                        continue;
                    }

                    //check second day
                    foreach (var interval in spot.DaylyAvailableHours[endDateTime.ToLocalTime().ToString("dddd", new CultureInfo("en-US"))])
                    {
                        if (interval.From.ToLocalTime().TimeOfDay.Equals(mid.TimeOfDay) &&
                            interval.To.ToLocalTime().TimeOfDay >= endDateTime.ToLocalTime().TimeOfDay)
                        {
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }
Exemplo n.º 5
0
        public static void Test_MongoDB_DateTime_01()
        {
            Trace.WriteLine("Test_MongoDB_DateTime_01");
            //1383830499961
            long         l  = 1383830499961;
            BsonDateTime dt = new BsonDateTime(l);

            Trace.WriteLine("BsonDateTime {0} - {1}", l, dt);
            dt = new BsonDateTime(DateTime.Now);
            Trace.WriteLine("BsonDateTime now {0}", dt);
            Trace.WriteLine("BsonDateTime now.ToLocalTime() {0}", dt.ToLocalTime());
            Trace.WriteLine("BsonDateTime now (DateTime) {0}", (DateTime)dt);
            Trace.WriteLine("DateTime now {0}", DateTime.Now);
        }
        public void TestDateTimeMinValue()
        {
            foreach (var kind in new[] { DateTimeKind.Local, DateTimeKind.Unspecified, DateTimeKind.Utc })
            {
                var bsonDateTime = new BsonDateTime(DateTime.SpecifyKind(DateTime.MinValue, kind));
                Assert.AreEqual(BsonConstants.DateTimeMinValueMillisecondsSinceEpoch, bsonDateTime.MillisecondsSinceEpoch);

                var utcDateTime = bsonDateTime.ToUniversalTime();
                Assert.AreEqual(DateTimeKind.Utc, utcDateTime.Kind);
                Assert.AreEqual(DateTime.MinValue, utcDateTime);

                var localDateTime = bsonDateTime.ToLocalTime();
                Assert.AreEqual(DateTimeKind.Local, localDateTime.Kind);
                Assert.AreEqual(DateTime.MinValue, localDateTime);
            }
        }
        public void TestDateTimeMinValue()
        {
            foreach (var kind in new[] { DateTimeKind.Local, DateTimeKind.Unspecified, DateTimeKind.Utc })
            {
                var bsonDateTime = new BsonDateTime(DateTime.SpecifyKind(DateTime.MinValue, kind));
                Assert.AreEqual(BsonConstants.DateTimeMinValueMillisecondsSinceEpoch, bsonDateTime.MillisecondsSinceEpoch);

                var utcDateTime = bsonDateTime.ToUniversalTime();
                Assert.AreEqual(DateTimeKind.Utc, utcDateTime.Kind);
                Assert.AreEqual(DateTime.MinValue, utcDateTime);

                var localDateTime = bsonDateTime.ToLocalTime();
                Assert.AreEqual(DateTimeKind.Local, localDateTime.Kind);
                Assert.AreEqual(DateTime.MinValue, localDateTime);
            }
        }
 public string TimeFromBson(BsonDateTime datetime)
 {
     return(datetime.ToLocalTime().ToString(CalendarHelper.TimeFormat));
 }
 public bool IsThereOverlapping(IEvent @event, BsonDateTime starDateTime,
                                BsonDateTime endDateTime)
 {
     return(@event.StartDateTime.ToLocalTime() <= endDateTime.ToLocalTime() &&
            starDateTime.ToLocalTime() <= @event.EndDateTime.ToLocalTime());
 }
Exemplo n.º 10
0
 public static string TimeFromBson(BsonDateTime datetime)
 {
     return(datetime.ToLocalTime().ToString(GetBasicTimeFormat));
 }
 public void TimeFromBson(BsonDateTime datetime)
 {
     Time = datetime.ToLocalTime().ToString(CalendarHelper.TimeFormat);
 }