示例#1
0
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            var setting = App.RoamingSettings.Read(Constants.TIMESTAMP_STYLE, TimestampStyle.Absolute);

            if (value is not DateTime t)
            {
                t = value is DateTimeOffset dto ? dto.LocalDateTime : default;
            }

            t = t.ToUniversalTime();

            var moment = new Moment(t);

            if (t != default)
            {
                switch (setting)
                {
                case TimestampStyle.Relative:
                    return(t.Humanize(true));

                case TimestampStyle.Absolute:
                    return(moment.Calendar());

                case TimestampStyle.Both:
                    return($"{t.Humanize(true)} - {moment.Calendar()}");
                }
            }

            return("");
        }
示例#2
0
        public void CalendarTest()
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
            var m = new Moment(); 
            var str = m.Calendar();
            Assert.AreEqual(str.IndexOf("今天"), 0, "should be Today");

            var str2 = m.Calendar(DateTime.Now.AddDays(-1)); 
            Assert.AreEqual(str2.IndexOf("明天"), 0, "should be Tomorrow");

            var str3 = m.Calendar(DateTime.Now.AddDays(1));
            Assert.AreEqual(str3.IndexOf("昨天"), 0, "should be Yesterday");

        }
示例#3
0
        public void CalendarTest()
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
            var m   = new Moment();
            var str = m.Calendar();

            Assert.AreEqual(str.IndexOf("今天"), 0, "should be Today");

            var str2 = m.Calendar(DateTime.Now.AddDays(-1));

            Assert.AreEqual(str2.IndexOf("明天"), 0, "should be Tomorrow");

            var str3 = m.Calendar(DateTime.Now.AddDays(1));

            Assert.AreEqual(str3.IndexOf("昨天"), 0, "should be Yesterday");
        }