Exemple #1
0
        public static string DateDiffShort_7pad(DateTime first, DateTime sec, string beforeTemplate, string afterTemplate)
        {
            if (first < DateTime.MinValue)
            {
                first = DateTime.MinValue;
            }
            if (sec < DateTime.MinValue)
            {
                sec = DateTime.MinValue;
            }
            if (first > DateTime.MaxValue)
            {
                first = DateTime.MaxValue;
            }
            if (sec > DateTime.MaxValue)
            {
                sec = DateTime.MaxValue;
            }

            bool after = first > sec;

            Devmasters.DT.DateTimeSpan dateDiff = Devmasters.DT.DateTimeSpan.CompareDates(first, sec);
            if (after)
            {
                string txtDiff = string.Empty;
                if (dateDiff.Years > 0)
                {
                    txtDiff = Devmasters.Lang.Plural.Get(dateDiff.Years, "roce;{0} letech;{0} letech");
                }
                else if (dateDiff.Months > 3)
                {
                    txtDiff = Devmasters.Lang.Plural.Get(dateDiff.Months, "měsíci;{0} měsících;{0} měsících");
                }
                else
                {
                    txtDiff = Devmasters.Lang.Plural.GetWithZero(dateDiff.Days, "pár hodinách", "jednom dni", "{0} dnech", "{0} dny", "{0} dnů");
                }

                return(string.Format(afterTemplate, txtDiff));
            }
            else
            {
                string txtDiff = string.Empty;
                if (dateDiff.Years > 0)
                {
                    txtDiff = Devmasters.Lang.Plural.Get(dateDiff.Years, "rokem;{0} roky;{0} roky");
                }
                else if (dateDiff.Months > 3)
                {
                    txtDiff = Devmasters.Lang.Plural.Get(dateDiff.Months, "měsícem;{0} měsíci;{0} měsíci");
                }
                else
                {
                    txtDiff = Devmasters.Lang.Plural.GetWithZero(dateDiff.Days, "pár hodinami", "dnem", "{0} dny", "{0} dny");
                }

                return(string.Format(beforeTemplate, txtDiff));
            }
        }
Exemple #2
0
        public static string DateDiffShort(DateTime first, DateTime sec, string beforeTemplate, string afterTemplate)
        {
            if (first < DateTime.MinValue)
            {
                first = DateTime.MinValue;
            }
            if (sec < DateTime.MinValue)
            {
                sec = DateTime.MinValue;
            }
            if (first > DateTime.MaxValue)
            {
                first = DateTime.MaxValue;
            }
            if (sec > DateTime.MaxValue)
            {
                sec = DateTime.MaxValue;
            }

            bool after = first > sec;

            Devmasters.DT.DateTimeSpan dateDiff = Devmasters.DT.DateTimeSpan.CompareDates(first, sec);
            string txtDiff = string.Empty;

            if (dateDiff.Years > 0)
            {
                txtDiff = Devmasters.Lang.Plural.Get(dateDiff.Years, "rok;{0} roky;{0} let");
            }
            else if (dateDiff.Months > 3)
            {
                txtDiff = Devmasters.Lang.Plural.Get(dateDiff.Months, "měsíc;{0} měsíce;{0} měsíců");
            }
            else
            {
                txtDiff = Devmasters.Lang.Plural.GetWithZero(dateDiff.Days, "dnes", "den", "{0} dny", "{0} dnů");
            }

            if (after)
            {
                return(string.Format(afterTemplate, txtDiff));
            }
            else
            {
                return(string.Format(beforeTemplate, txtDiff));
            }
        }
Exemple #3
0
        public static string FormatAvailability2(TimeSpan ts)
        {
            var end = DateTime.Now;

            Devmasters.DT.DateTimeSpan dts = Devmasters.DT.DateTimeSpan.CompareDates(end - ts, end);
            string s = "";

            if (dts.Years > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Years, "rok;{0} roky;{0} let");
            }
            if (dts.Months > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Months, "měsíc;{0} měsíce;{0} měsíců");
            }
            if (dts.Days > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Days, "den;{0} dny;{0} dnů");
            }
            if (dts.Hours > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Hours, "hodinu;{0} hodiny;{0} hodin");
            }
            if (dts.Minutes > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Minutes, "minutu;{0} minuty;{0} minut");
            }
            if (dts.Seconds > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Seconds, "sekundu;{0} sekundy;{0} sekund");
            }
            if (dts.Milliseconds > 0)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Milliseconds, "{0} ms;{0} ms;{0} ms");
            }

            return(s.Trim());
        }
Exemple #4
0
        public static string FormatAvailability(TimeSpan ts, DateTimePart minDatePart, string numFormat = "N1")
        {
            var end = DateTime.Now;

            Devmasters.DT.DateTimeSpan dts = Devmasters.DT.DateTimeSpan.CompareDates(end - ts, end);
            string s = "";

            if (dts.Years > 0 && minDatePart > DateTimePart.Year)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Years, "{0} rok;{0} roky;{0} let");
            }
            else if (dts.Years > 0)
            {
                decimal part = dts.Years + dts.Months / 12m;
                if (part % 1 > 0)
                {
                    s += string.Format(" {0:" + numFormat + "} let", part);
                }
                else
                {
                    s += Devmasters.Lang.Plural.Get((int)part, " {0} rok; {0} roky; {0} let");
                };
                return(s);
            }

            if (dts.Months > 0 && minDatePart > DateTimePart.Month)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Months, "{0} měsíc;{0} měsíce;{0} měsíců");
            }
            else if (dts.Months > 0)
            {
                decimal part = dts.Months + dts.Days / 30m;
                if (part % 1 > 0)
                {
                    s += string.Format(" {0:" + numFormat + "} měsíců", part);
                }
                else
                {
                    s += Devmasters.Lang.Plural.Get((int)part, " {0} měsíc; {0} měsíce; {0} měsíců");
                };
                return(s);
            }

            if (dts.Days > 0 && minDatePart > DateTimePart.Day)
            {
                s = " " + Devmasters.Lang.Plural.Get(dts.Days, " {0} den;{0} dny;{0} dnů");
            }
            else if (dts.Days > 0)
            {
                decimal part = dts.Days + dts.Hours / 24m;
                if (part % 1 > 0)
                {
                    s = " " + string.Format(" {0:" + numFormat + "} dní", part);
                }
                else
                {
                    s = " " + Devmasters.Lang.Plural.Get((int)part, " {0} den;{0} dny;{0} dnů");
                };
                return(s);
            }

            if (dts.Hours > 0 && minDatePart > DateTimePart.Hour)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Hours, " {0} hodinu;{0} hodiny;{0} hodin");
            }
            else if (dts.Hours > 0)
            {
                decimal part = dts.Hours + dts.Minutes / 60m;
                if (part % 1 > 0)
                {
                    s += string.Format(" {0:" + numFormat + "} hodin", part);
                }
                else
                {
                    s += " " + Devmasters.Lang.Plural.Get((int)part, " {0} hodinu;{0} hodiny;{0} hodin");
                }
                return(s);
            }

            if (dts.Minutes > 0 && minDatePart > DateTimePart.Minute)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Minutes, "minutu;{0} minuty;{0} minut");
            }
            else if (dts.Minutes > 0)
            {
                decimal part = dts.Minutes + dts.Seconds / 60m;
                if (part % 1 > 0)
                {
                    s += string.Format(" {0:" + numFormat + "} minut", part);
                }
                else
                {
                    s += " " + Devmasters.Lang.Plural.Get((int)part, "minutu;{0} minuty;{0} minut");
                };
                return(s);
            }

            if (dts.Seconds > 0 && minDatePart > DateTimePart.Second)
            {
                s += " " + Devmasters.Lang.Plural.Get(dts.Seconds, "sekundu;{0} sekundy;{0} sekund");
            }
            else
            {
                decimal part = dts.Seconds + dts.Milliseconds / 1000m;
                if (part % 1 > 0)
                {
                    s += string.Format(" {0:" + numFormat + "} sekund", part);
                }
                else
                {
                    s += " " + Devmasters.Lang.Plural.Get((int)part, "sekundu;{0} sekundy;{0} sekund");
                };
                return(s);
            }

            //if (dts.Milliseconds > 0)
            //    s += " " + Devmasters.Lang.Plural.Get(dts.Milliseconds, "{0} ms;{0} ms;{0} ms");

            return(s.Trim());
        }