Exemplo n.º 1
0
        private static string NextDateValue(TimexProperty timex, DateObject date)
        {
            if (timex.Month != null && timex.DayOfMonth != null)
            {
                return(TimexValue.DateValue(new TimexProperty
                {
                    Year = date.Year,
                    Month = timex.Month,
                    DayOfMonth = timex.DayOfMonth,
                }));
            }

            if (timex.DayOfWeek != null)
            {
                var day    = timex.DayOfWeek == 7 ? DayOfWeek.Sunday : (DayOfWeek)timex.DayOfWeek;
                var result = TimexDateHelpers.DateOfNextDay(day, date);
                return(TimexValue.DateValue(new TimexProperty
                {
                    Year = result.Year,
                    Month = result.Month,
                    DayOfMonth = result.Day,
                }));
            }

            return(string.Empty);
        }
        private static string ConvertDateRange(TimexProperty timex, DateObject date)
        {
            if (timex.Year != null)
            {
                var year = date.Year;
                if (timex.Year == year)
                {
                    if (timex.WeekOfYear != null)
                    {
                        var thisWeek = TimexDateHelpers.WeekOfYear(date);
                        if (thisWeek == timex.WeekOfYear)
                        {
                            return(timex.Weekend != null ? $"{TimexConstantsEnglish.This} {TimexConstantsEnglish.Weekend}" : $"{TimexConstantsEnglish.This} {Constants.WeekUnit}");
                        }

                        if (thisWeek == timex.WeekOfYear + 1)
                        {
                            return(timex.Weekend != null ? $"{TimexConstantsEnglish.Last} {TimexConstantsEnglish.Weekend}" : $"{TimexConstantsEnglish.Last} {Constants.WeekUnit}");
                        }

                        if (thisWeek == timex.WeekOfYear - 1)
                        {
                            return(timex.Weekend != null ? $"{TimexConstantsEnglish.Next} {TimexConstantsEnglish.Weekend}" : $"{TimexConstantsEnglish.Next} {Constants.WeekUnit}");
                        }
                    }

                    if (timex.Month != null)
                    {
                        if (timex.Month == date.Month)
                        {
                            return($"{TimexConstantsEnglish.This} {Constants.MonthUnit}");
                        }

                        if (timex.Month == date.Month + 1)
                        {
                            return($"{TimexConstantsEnglish.Next} {Constants.MonthUnit}");
                        }

                        if (timex.Month == date.Month - 1)
                        {
                            return($"{TimexConstantsEnglish.Last} {Constants.MonthUnit}");
                        }
                    }

                    return((timex.Season != null) ? $"{TimexConstantsEnglish.This} {TimexConstantsEnglish.Seasons[timex.Season]}" : $"{TimexConstantsEnglish.This} {Constants.YearUnit}");
                }

                if (timex.Year == year + 1)
                {
                    return((timex.Season != null) ? $"{TimexConstantsEnglish.Next} {TimexConstantsEnglish.Seasons[timex.Season]}" : $"{TimexConstantsEnglish.Next} {Constants.YearUnit}");
                }

                if (timex.Year == year - 1)
                {
                    return((timex.Season != null) ? $"{TimexConstantsEnglish.Last} {TimexConstantsEnglish.Seasons[timex.Season]}" : $"{TimexConstantsEnglish.Last} {Constants.YearUnit}");
                }
            }

            return(string.Empty);
        }
        private static string ConvertDateRange(TimexProperty timex, DateObject date)
        {
            if (timex.Year != null)
            {
                var year = date.Year;
                if (timex.Year == year)
                {
                    if (timex.WeekOfYear != null)
                    {
                        var thisWeek = TimexDateHelpers.WeekOfYear(date);
                        if (thisWeek == timex.WeekOfYear)
                        {
                            return(timex.Weekend != null ? "this weekend" : "this week");
                        }

                        if (thisWeek == timex.WeekOfYear + 1)
                        {
                            return(timex.Weekend != null ? "last weekend" : "last week");
                        }

                        if (thisWeek == timex.WeekOfYear - 1)
                        {
                            return(timex.Weekend != null ? "next weekend" : "next week");
                        }
                    }

                    if (timex.Month != null)
                    {
                        if (timex.Month == date.Month)
                        {
                            return("this month");
                        }

                        if (timex.Month == date.Month + 1)
                        {
                            return("next month");
                        }

                        if (timex.Month == date.Month - 1)
                        {
                            return("last month");
                        }
                    }

                    return((timex.Season != null) ? $"this {TimexConstantsEnglish.Seasons[timex.Season]}" : "this year");
                }

                if (timex.Year == year + 1)
                {
                    return((timex.Season != null) ? $"next {TimexConstantsEnglish.Seasons[timex.Season]}" : "next year");
                }

                if (timex.Year == year - 1)
                {
                    return((timex.Season != null) ? $"last {TimexConstantsEnglish.Seasons[timex.Season]}" : "last year");
                }
            }

            return(string.Empty);
        }
Exemplo n.º 4
0
        private static string LastDateValue(TimexProperty timex, System.DateTime date)
        {
            if (timex.Month != null && timex.DayOfMonth != null)
            {
                return(TimexValue.DateValue(new TimexProperty
                {
                    Year = date.Year - 1,
                    Month = timex.Month,
                    DayOfMonth = timex.DayOfMonth
                }));
            }

            if (timex.DayOfWeek != null)
            {
                var day    = timex.DayOfWeek == 7 ? DayOfWeek.Monday : (DayOfWeek)timex.DayOfWeek;
                var result = TimexDateHelpers.DateOfLastDay(day, date);
                return(TimexValue.DateValue(new TimexProperty
                {
                    Year = result.Year,
                    Month = result.Month,
                    DayOfMonth = result.Day
                }));
            }

            return(string.Empty);
        }
Exemplo n.º 5
0
        public static string NextWeek(System.DateTime date = default(System.DateTime))
        {
            var d     = (date == default(System.DateTime)) ? System.DateTime.Now : date;
            var start = TimexDateHelpers.DateOfNextDay(DayOfWeek.Monday, d);
            var t     = TimexProperty.FromDate(start);

            t.Days = 7;
            return(t.TimexValue);
        }
Exemplo n.º 6
0
        public static string DateValue(TimexProperty timexProperty)
        {
            if (timexProperty.Year != null && timexProperty.Month != null && timexProperty.DayOfMonth != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timexProperty.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timexProperty.Month, 2)}-{TimexDateHelpers.FixedFormatNumber(timexProperty.DayOfMonth, 2)}");
            }

            return(string.Empty);
        }
Exemplo n.º 7
0
        private static DateObject GenerateWeekDate(TimexProperty timex, DateObject date, bool isBefore)
        {
            DateObject start;

            if (timex.WeekOfMonth == null && timex.WeekOfYear == null)
            {
                var day = timex.DayOfWeek == 7 ? DayOfWeek.Sunday : (DayOfWeek)timex.DayOfWeek;
                if (isBefore)
                {
                    start = TimexDateHelpers.DateOfLastDay(day, date);
                }
                else
                {
                    start = TimexDateHelpers.DateOfNextDay(day, date);
                }
            }
            else
            {
                int dayOfWeek = timex.DayOfWeek.Value - 1;
                int year      = timex.Year ?? date.Year;
                if (timex.WeekOfYear != null)
                {
                    int weekOfYear = timex.WeekOfYear.Value;
                    start = TimexHelpers.FirstDateOfWeek(year, weekOfYear, CultureInfo.InvariantCulture).AddDays(dayOfWeek);
                    if (timex.Year == null)
                    {
                        if (isBefore && start > date)
                        {
                            start = TimexHelpers.FirstDateOfWeek(year - 1, weekOfYear, CultureInfo.InvariantCulture).AddDays(dayOfWeek);
                        }
                        else if (!isBefore && start < date)
                        {
                            start = TimexHelpers.FirstDateOfWeek(year + 1, weekOfYear, CultureInfo.InvariantCulture).AddDays(dayOfWeek);
                        }
                    }
                }
                else
                {
                    int month       = timex.Month ?? date.Month;
                    int weekOfMonth = timex.WeekOfMonth.Value;
                    start = TimexHelpers.GenerateMonthWeekDateStart(year, month, weekOfMonth).AddDays(dayOfWeek);
                    if (timex.Year == null || timex.Month == null)
                    {
                        if (isBefore && start > date)
                        {
                            start = TimexHelpers.GenerateMonthWeekDateStart(timex.Month != null ? year - 1 : year, timex.Month == null ? month - 1 : month, weekOfMonth).AddDays(dayOfWeek);
                        }
                        else if (!isBefore && start < date)
                        {
                            start = TimexHelpers.GenerateMonthWeekDateStart(timex.Month != null ? year + 1 : year, timex.Month == null ? month + 1 : month, weekOfMonth).AddDays(dayOfWeek);
                        }
                    }
                }
            }

            return(start);
        }
Exemplo n.º 8
0
        private static IEnumerable <string> ResolveDateAgainstConstraint(TimexProperty timex, DateRange constraint)
        {
            if (timex.Month != null && timex.DayOfMonth != null)
            {
                var result = new List <string>();
                for (var year = constraint.Start.Year; year <= constraint.End.Year; year++)
                {
                    var t = timex.Clone();
                    t.Year = year;
                    result.AddRange(ResolveDefiniteAgainstConstraint(t, constraint));
                }

                return(result);
            }

            if (timex.DayOfWeek != null)
            {
                // convert between ISO day of week and .NET day of week
                var day    = timex.DayOfWeek == 7 ? DayOfWeek.Sunday : (DayOfWeek)timex.DayOfWeek;
                var dates  = TimexDateHelpers.DatesMatchingDay(day, constraint.Start, constraint.End);
                var result = new List <string>();

                foreach (var d in dates)
                {
                    var t = timex.Clone();
                    t.DayOfWeek  = null;
                    t.Year       = d.Year;
                    t.Month      = d.Month;
                    t.DayOfMonth = d.Day;
                    result.Add(t.TimexValue);
                }

                return(result);
            }

            if (timex.Hour != null)
            {
                var      result = new List <string>();
                DateTime day    = constraint.Start;
                while (day <= constraint.End)
                {
                    var t = timex.Clone();
                    t.Year       = day.Year;
                    t.Month      = day.Month;
                    t.DayOfMonth = day.Day;
                    result.AddRange(ResolveDefiniteAgainstConstraint(t, constraint));
                    day = day.AddDays(1);
                }

                return(result);
            }

            return(Enumerable.Empty <string>());
        }
Exemplo n.º 9
0
        private static string FormatDateRange(TimexProperty timex)
        {
            if (timex.Year != null && timex.WeekOfYear != null && timex.Weekend != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfYear, 2)}-WE");
            }

            if (timex.Year != null && timex.WeekOfYear != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfYear, 2)}");
            }

            if (timex.Year != null && timex.Month != null && timex.WeekOfMonth != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-W{TimexDateHelpers.FixedFormatNumber(timex.WeekOfMonth, 2)}");
            }

            if (timex.Year != null && timex.Season != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{timex.Season}");
            }

            if (timex.Season != null)
            {
                return($"{timex.Season}");
            }

            if (timex.Year != null && timex.Month != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}");
            }

            if (timex.Year != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}");
            }

            if (timex.Month != null && timex.WeekOfMonth != null && timex.DayOfWeek != null)
            {
                return($"{Constants.TimexFuzzyYear}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-{Constants.TimexFuzzyWeek}-{timex.WeekOfMonth}-{timex.DayOfWeek}");
            }

            if (timex.Month != null && timex.WeekOfMonth != null)
            {
                return($"{Constants.TimexFuzzyYear}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-W{timex.WeekOfMonth?.ToString("D2", CultureInfo.InvariantCulture)}");
            }

            if (timex.Month != null)
            {
                return($"{Constants.TimexFuzzyYear}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}");
            }

            return(string.Empty);
        }
Exemplo n.º 10
0
        public static string LastWeek(DateObject date = default(DateObject))
        {
            var d     = (date == default(DateObject)) ? DateObject.Now : date;
            var start = TimexDateHelpers.DateOfLastDay(DayOfWeek.Monday, d);

            start = start.AddDays(-7);
            var t = TimexProperty.FromDate(start);

            t.Days = 7;
            return(t.TimexValue);
        }
Exemplo n.º 11
0
        private static string FormatTime(TimexProperty timex)
        {
            if (timex.Minute == 0 && timex.Second == 0)
            {
                return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}");
            }

            if (timex.Second == 0)
            {
                return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Minute, 2)}");
            }

            return($"T{TimexDateHelpers.FixedFormatNumber(timex.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timex.Second, 2)}");
        }
Exemplo n.º 12
0
        private static Tuple <string, string> WeekDateRange(int year, int weekOfYear)
        {
            var dateInWeek = new DateObject(year, 1, 1) + TimeSpan.FromDays((weekOfYear - 1) * 7);

            var start = TimexDateHelpers.DateOfLastDay(DayOfWeek.Monday, dateInWeek);
            var end   = TimexDateHelpers.DateOfLastDay(DayOfWeek.Monday, dateInWeek + TimeSpan.FromDays(7));

            return(new Tuple <string, string>(
                       TimexValue.DateValue(new TimexProperty {
                Year = start.Year, Month = start.Month, DayOfMonth = start.Day
            }),
                       TimexValue.DateValue(new TimexProperty {
                Year = end.Year, Month = end.Month, DayOfMonth = end.Day
            })));
        }
Exemplo n.º 13
0
        private static string ConvertDateTimeRange(TimexProperty timex, System.DateTime date)
        {
            if (timex.Year != null && timex.Month != null && timex.DayOfMonth != null)
            {
                var timexDate = new System.DateTime(timex.Year.Value, timex.Month.Value, timex.DayOfMonth.Value);

                if (timex.PartOfDay != null)
                {
                    if (TimexDateHelpers.DatePartEquals(timexDate, date))
                    {
                        if (timex.PartOfDay == "NI")
                        {
                            return("tonight");
                        }
                        else
                        {
                            return($"this {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                        }
                    }

                    var tomorrow = TimexDateHelpers.Tomorrow(date);
                    if (TimexDateHelpers.DatePartEquals(timexDate, tomorrow))
                    {
                        return($"tomorrow {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }

                    var yesterday = TimexDateHelpers.Yesterday(date);
                    if (TimexDateHelpers.DatePartEquals(timexDate, yesterday))
                    {
                        return($"yesterday {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }

                    if (TimexDateHelpers.IsNextWeek(timexDate, date))
                    {
                        return($"next {GetDateDay(timexDate.DayOfWeek)} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }

                    if (TimexDateHelpers.IsLastWeek(timexDate, date))
                    {
                        return($"last {GetDateDay(timexDate.DayOfWeek)} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }
                }
            }

            return(string.Empty);
        }
Exemplo n.º 14
0
        public static Tuple <TimexProperty, TimexProperty> YearWeekDateRange(int year, int weekOfYear, bool?isWeekend)
        {
            var firstMondayInWeek = FirstDateOfWeek(year, weekOfYear, System.Globalization.CultureInfo.InvariantCulture);

            var start = (isWeekend == null || isWeekend.Value == false) ?
                        firstMondayInWeek :
                        TimexDateHelpers.DateOfNextDay(DayOfWeek.Saturday, firstMondayInWeek);
            var end = firstMondayInWeek + TimeSpan.FromDays(7);

            return(new Tuple <TimexProperty, TimexProperty>(
                       new TimexProperty {
                Year = start.Year, Month = start.Month, DayOfMonth = start.Day
            },
                       new TimexProperty {
                Year = end.Year, Month = end.Month, DayOfMonth = end.Day
            }));
        }
        private static string ConvertDateTimeRange(TimexProperty timex, DateObject date)
        {
            if (timex.Year != null && timex.Month != null && timex.DayOfMonth != null)
            {
                var timexDate = new DateObject(timex.Year.Value, timex.Month.Value, timex.DayOfMonth.Value);

                if (timex.PartOfDay != null)
                {
                    if (TimexDateHelpers.DatePartEquals(timexDate, date))
                    {
                        if (timex.PartOfDay == Constants.TimexNight)
                        {
                            return(TimexConstantsEnglish.Tonight);
                        }
                        else
                        {
                            return($"{TimexConstantsEnglish.This} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                        }
                    }

                    var tomorrow = TimexDateHelpers.Tomorrow(date);
                    if (TimexDateHelpers.DatePartEquals(timexDate, tomorrow))
                    {
                        return($"{TimexConstantsEnglish.Tomorrow} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }

                    var yesterday = TimexDateHelpers.Yesterday(date);
                    if (TimexDateHelpers.DatePartEquals(timexDate, yesterday))
                    {
                        return($"{TimexConstantsEnglish.Yesterday} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }

                    if (TimexDateHelpers.IsNextWeek(timexDate, date))
                    {
                        return($"{TimexConstantsEnglish.Next} {GetDateDay(timexDate.DayOfWeek)} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }

                    if (TimexDateHelpers.IsLastWeek(timexDate, date))
                    {
                        return($"{TimexConstantsEnglish.Last} {GetDateDay(timexDate.DayOfWeek)} {TimexConstantsEnglish.DayParts[timex.PartOfDay]}");
                    }
                }
            }

            return(string.Empty);
        }
Exemplo n.º 16
0
        public static string GenerateDateTimex(int year, int month, int day, bool byWeek)
        {
            var    yearString  = year == Constants.InvalidValue ? Constants.TimexFuzzyYear : TimexDateHelpers.FixedFormatNumber(year, 4);
            var    monthString = month == Constants.InvalidValue ? Constants.TimexFuzzyMonth : TimexDateHelpers.FixedFormatNumber(month, 2);
            string dayString;

            if (byWeek)
            {
                dayString   = day.ToString(CultureInfo.InvariantCulture);
                monthString = Constants.TimexWeek + monthString;
            }
            else
            {
                dayString = day == Constants.InvalidValue ? Constants.TimexDay : TimexDateHelpers.FixedFormatNumber(day, 2);
            }

            return($"{yearString}-{monthString}-{dayString}");
        }
Exemplo n.º 17
0
        public static string TimeValue(TimexProperty timexProperty, DateTime date)
        {
            if (timexProperty.Hour != null && timexProperty.Minute != null && timexProperty.Second != null)
            {
                if (date.Kind == DateTimeKind.Utc)
                {
                    var timeString   = $"{TimexDateHelpers.FixedFormatNumber(timexProperty.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Second, 2)}";
                    var tempDateTime = DateTime.Parse(timeString);
                    return(tempDateTime.ToUniversalTime().ToString("HH:mm:ss"));
                }
                else
                {
                    return($"{TimexDateHelpers.FixedFormatNumber(timexProperty.Hour, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Minute, 2)}:{TimexDateHelpers.FixedFormatNumber(timexProperty.Second, 2)}");
                }
            }

            return(string.Empty);
        }
Exemplo n.º 18
0
        private static string FormatDate(TimexProperty timex)
        {
            if (timex.Year != null && timex.Month != null && timex.DayOfMonth != null)
            {
                return($"{TimexDateHelpers.FixedFormatNumber(timex.Year, 4)}-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-{TimexDateHelpers.FixedFormatNumber(timex.DayOfMonth, 2)}");
            }

            if (timex.Month != null && timex.DayOfMonth != null)
            {
                return($"XXXX-{TimexDateHelpers.FixedFormatNumber(timex.Month, 2)}-{TimexDateHelpers.FixedFormatNumber(timex.DayOfMonth, 2)}");
            }

            if (timex.DayOfWeek != null)
            {
                return($"XXXX-WXX-{timex.DayOfWeek}");
            }

            return(string.Empty);
        }
        private static string ConvertDate(TimexProperty timex, DateObject date)
        {
            if (timex.Year != null && timex.Month != null && timex.DayOfMonth != null)
            {
                var timexDate = new DateObject(timex.Year.Value, timex.Month.Value, timex.DayOfMonth.Value);

                if (TimexDateHelpers.DatePartEquals(timexDate, date))
                {
                    return(TimexConstantsEnglish.Today);
                }

                var tomorrow = TimexDateHelpers.Tomorrow(date);
                if (TimexDateHelpers.DatePartEquals(timexDate, tomorrow))
                {
                    return(TimexConstantsEnglish.Tomorrow);
                }

                var yesterday = TimexDateHelpers.Yesterday(date);
                if (TimexDateHelpers.DatePartEquals(timexDate, yesterday))
                {
                    return(TimexConstantsEnglish.Yesterday);
                }

                if (TimexDateHelpers.IsThisWeek(timexDate, date))
                {
                    return($"{TimexConstantsEnglish.This} {GetDateDay(timexDate.DayOfWeek)}");
                }

                if (TimexDateHelpers.IsNextWeek(timexDate, date))
                {
                    return($"{TimexConstantsEnglish.Next} {GetDateDay(timexDate.DayOfWeek)}");
                }

                if (TimexDateHelpers.IsLastWeek(timexDate, date))
                {
                    return($"{TimexConstantsEnglish.Last} {GetDateDay(timexDate.DayOfWeek)}");
                }
            }

            return(TimexConvertEnglish.ConvertDate(timex));
        }
Exemplo n.º 20
0
        private static string ConvertDate(TimexProperty timex, System.DateTime date)
        {
            if (timex.Year != null && timex.Month != null && timex.DayOfMonth != null)
            {
                var timexDate = new System.DateTime(timex.Year.Value, timex.Month.Value, timex.DayOfMonth.Value);

                if (TimexDateHelpers.DatePartEquals(timexDate, date))
                {
                    return("today");
                }

                var tomorrow = TimexDateHelpers.Tomorrow(date);
                if (TimexDateHelpers.DatePartEquals(timexDate, tomorrow))
                {
                    return("tomorrow");
                }

                var yesterday = TimexDateHelpers.Yesterday(date);
                if (TimexDateHelpers.DatePartEquals(timexDate, yesterday))
                {
                    return("yesterday");
                }

                if (TimexDateHelpers.IsThisWeek(timexDate, date))
                {
                    return($"this {GetDateDay(timexDate.DayOfWeek)}");
                }

                if (TimexDateHelpers.IsNextWeek(timexDate, date))
                {
                    return($"next {GetDateDay(timexDate.DayOfWeek)}");
                }

                if (TimexDateHelpers.IsLastWeek(timexDate, date))
                {
                    return($"last {GetDateDay(timexDate.DayOfWeek)}");
                }
            }

            return(TimexConvertEnglish.ConvertDate(timex));
        }