zoukankan      html  css  js  c++  java
  • Date、DateTime值的格式化扩展函数

    public static class DateTimeExtensions
        {
            public static DateTime ToUtc(this DateTime time)
            {
                if (time.Kind == DateTimeKind.Utc)
                {
                    return time;
                }
                else if (time.Kind == DateTimeKind.Local)
                {
                    return time.ToUniversalTime();
                }
                else
                {
                    return time.ToLocalTime().ToUniversalTime();
                }
            }


            private static readonly DateTime s_maxDateTime = new DateTime(4000, 1, 1, 1, 1, 1, 1).ToUtc();
            public static DateTime MaxDateTime
            {
                get
                {
                    return s_maxDateTime;
                }
            }

            public static bool IsMaxDateTime(this DateTime time)
            {
                return time.Year == MaxDateTime.Year;
            }

            public static DateTime? ToUtc(this DateTime? time)
            {
                return time.HasValue ? (DateTime?)time.Value.ToUtc() : null;
            }

            public static string ToChineseDate(this DateTime time)
            {
                return time.ToString("yyyy-MM-dd");
            }

            public static string ToChineseDate(this DateTime? time)
            {
                if (!time.HasValue)
                    return string.Empty;
                return time.Value.ToString("yyyy-MM-dd");
            }

            public static string ToChineseTime(this DateTime time)
            {
                return time.ToString("yyyy-MM-dd HH:mm");
            }

            /// <summary>
            /// 转换成时间戳
            /// </summary>
            /// <param name="time"></param>
            /// <returns></returns>
            public static Int64 ToTimestamp(this DateTime time)
            {
                return (time.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
            }

            public static string ToExpireString(this DateTime time)
            {
                var now = DateTime.Now;
                if (now < time)
                    return string.Empty;

                var offset = (now - time);

                if (offset < new TimeSpan(0, 1, 0))
                {
                    return "刚刚";
                }
                else if (offset < new TimeSpan(1, 0, 0))
                {
                    return string.Format("{0}分钟", offset.Minutes);
                }
                else if (offset < new TimeSpan(1, 0, 0, 0))
                {
                    return string.Format("{0}小时", offset.Hours);
                }
                else if (offset < new TimeSpan(7, 0, 0, 0))
                {
                    return string.Format("{0}天", offset.Days);
                }
                else if (offset < new TimeSpan(30, 0, 0, 0))
                {
                    return string.Format("{0}周", offset.Days / 7);
                }
                else if (offset < new TimeSpan(365, 0, 0, 0))
                {
                    return string.Format("{0}个月", offset.Days / 30);
                }
                else
                {
                    return time.ToChineseTime();
                }
            }

            public static DateTime GetThisMonday(this DateTime value)
            {
                int dayofWeek = value.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)value.DayOfWeek;
                return value.Date.AddDays((int)DayOfWeek.Monday - dayofWeek);
            }

            public static DateTime GetTheMinTime(this DateTime time)
            {
                return DateTime.Parse(time.ToShortDateString() + " 00:00:00");
            }

            public static DateTime GetTheMaxTime(this DateTime time)
            {
                return DateTime.Parse(time.ToShortDateString() + " 23:59:59");
            }

            public static string HtmlEncode(this DateTime value, string format)
            {
                return value.ToString(format).HtmlEncode();
            }

            public static string HtmlAttrEncode(this DateTime value, string format)
            {
                return value.ToString(format).HtmlAttrEncode();
            }

            public static string UrlEncode(this DateTime value, string format)
            {
                return value.ToString(format).UrlEncode();
            }
        }

  • 相关阅读:
    [Unity] 2D开发学习教程
    [Unity] 查找资源
    [Unity] UGUI研究院之游戏摇杆
    [Unity] Unity3D研究院编辑器之自定义默认资源的Inspector面板
    [Unity] Unity3D研究院编辑器之独立Inspector属性
    [Unity] 精灵动画制作中需要注意的一些问题
    [Unity] 常用技巧收集
    IDEA相关设置
    Hive配置文件hive-site.xml
    MySql通用二进制版本在Linux(Ubuntu)下安装与开启服务
  • 原文地址:https://www.cnblogs.com/itjeff/p/5593374.html
Copyright © 2011-2022 走看看