• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
向往
博客园    首页    新随笔    联系   管理    订阅  订阅
c# 自定义日期函数

#region 日期类
    public class dateClass
    {
        /// <summary>
        /// 返回友好的时间信息 如:3秒前
        /// </summary>
        /// <param name="DateTime1"></param>
        /// <param name="DateTime2"></param>
        /// <returns></returns>
        public string date(DateTime DateTime1, DateTime DateTime2)
        {

            TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
            TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
            TimeSpan ts = ts1.Subtract(ts2).Duration();          //显示时间   
            //string dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
            int d1months = DateTime1.Month;
            int d1day = DateTime1.Day;
            int d1hours = DateTime1.Hour;
            int d1minutes = DateTime1.Minute;
            int d1seconds = DateTime1.Second;

            int d2year = DateTime2.Year;//现在的年
            int d2day = DateTime2.Day;// 现在的日

            string dateinfo = string.Empty;
            if (DateTime1.Year == DateTime2.Year)
            {
                if (ts.Days != 0 || d2day != d1day)
                {
                    dateinfo = d1months + "月" + d1day + "日 " + d1hours + ":" + d1minutes;
                }
                else if (ts.Hours != 0)
                {
                    dateinfo = "今天 " + d1hours + ":" + d1minutes;
                }
                else if (ts.Minutes != 0)
                {
                    dateinfo = ts.Minutes + "分钟前";
                }
                else if (ts.Seconds == 60)
                {
                    dateinfo = "1分钟前";
                }
                else if (ts.Seconds != 0)
                {
                    dateinfo = ts.Seconds + "秒前";
                }
                else
                {
                    dateinfo = "1秒前";
                }
            }
            else
            {
                dateinfo = DateTime1.ToShortDateString();
            }
            return dateinfo;

        }
    }
    #endregion

 

 

 如 :dateClass dcbll=dateClass();

      dcbll.date(Convert.ToDateTime("2011-05-26 11:46:21"), Convert.ToDateTime("2011-05-26 11:47:21"));

 

  返回结果是1分钟前

posted on 2011-10-21 20:45  向往  阅读(3247)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3