ホームページ  >  記事  >  バックエンド開発  >  経過時間を表示する C# 関数

経過時間を表示する C# 関数

黄舟
黄舟オリジナル
2017-03-01 10:40:331537ブラウズ

経過時間を表示するC#関数

public string HowLongBeforeNow
        {
            get
            {
                var ts = new TimeSpan(DateTime.UtcNow.Ticks - CreatedDate.Ticks);
                var delta = ts.TotalSeconds;


                const int second = 1;
                const int minute = 60 * second;
                const int hour = 60 * minute;
                const int day = 24 * hour;
                const int month = 30 * day;
                if (delta < 0)
                {
                    throw new InvalidDataException("The CreatedDate can not be gather than today.");
                }
                if (delta < 1 * minute)
                {
                    return ts.Seconds == 1 ? "1 second ago" : ts.Seconds + " seconds ago";
                }
                if (delta < 2 * minute)
                {
                    return "1 minute ago";
                }
                if (delta < 45 * minute)
                {
                    return ts.Minutes + " minutes ago";
                }
                if (delta < 90 * minute)
                {
                    return "1 hour ago";
                }
                if (delta < 24 * hour)
                {
                    return ts.Hours + " hours ago";
                }
                if (delta < 48 * hour)
                {
                    return "yesterday";
                }
                if (delta < 30 * day)
                {
                    return ts.Days + " days ago";
                }
                if (delta < 12 * month)
                {
                    var months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
                    return months <= 1 ? "1 month ago" : months + " months ago";
                }
                var years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
                return years <= 1 ? "1 year ago" : years + " years ago";
            }
        }

css:

.how-long-ago {
        font-style: italic;
        color: #777;
    }


上記は経過時間を表示するC#関数の内容です。関連する内容については、PHPを参照してください。中国語のウェブサイト (www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。