c#友好显示日期 c#日期datetime使用方法

代码如下:

#region 友好显示时间
        /// <summary>
        /// 友好显示时间
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public static string ShowTime(DateTime date)
        {
            const int SECOND = 1;
            const int MINUTE = 60 * SECOND;
            const int HOUR = 60 * MINUTE;
            const int DAY = 24 * HOUR;
            const int MONTH = 30 * DAY;
            TimeSpan ts = DateTime.Now - date;
            double delta = ts.TotalSeconds;
            if (delta < 0)
            {
                return "not yet";
            }
            if (delta < 1 * MINUTE)
            {
                return ts.Seconds == 1 ? "1秒前" : ts.Seconds + "秒前";
            }
            if (delta < 2 * MINUTE)
            {
                return "1分钟之前";
            }
            if (delta < 45 * MINUTE)
            {
                return ts.Minutes + "分钟";
            }
            if (delta < 90 * MINUTE)
            {
                return "1小时前";
            }
            if (delta < 24 * HOUR)
            {
                return ts.Hours + "小时前";
            }
            if (delta < 48 * HOUR)
            {
                return "昨天";
            }
            if (delta < 30 * DAY)
            {
                return ts.Days + " 天之前";
            }
            if (delta < 12 * MONTH)
            {
                int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
                return months <= 1 ? "一个月之前" : months + "月之前";
            }
            else
            {
                int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
                return years <= 1 ? "一年前" : years + "年前";
            }
        }
        #endregion

(0)

相关推荐

  • C# 中DateTime 的使用技巧汇总

    //C# 根据当前时间获取本周.下周.本月.下月.本季度等时间段 DateTime dt = DateTime.Now;  //当前时间 DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一 DateTime endWeek = startWeek.AddDays(6);  //本周周日 DateTime startMonth = dt.AddDays(1 -

  • C#中DateTime日期类型格式化显示方法汇总

    本文汇总了常用的DateTime日期类型格式化显示方法,方便读者在使用的时候参考借鉴一下.具体如下所示: 1.绑定时格式化日期方法: <ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " > <ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE > </ASP:BOUNDCOLUMN

  • 深入Unix时间戳与C# DateTime时间类型互换的详解

    Unix时间戳最小单位是秒,开始时间为格林威治标准时间1970-01-01 00:00:00ConvertIntDateTime方法的基本思路是通过获取本地时区表示Unixk开始时间,加上Unix时间值(即过去的秒数). ConvertDateTimeInt方法的基本思路是通过刻度数差,再把刻度数转换为秒数,当然要说明的是,我这里返回的是double类型,意义上并非是真正的Unix时间戳格式.要获取真正Unix时间戳的,只获取整数部分就可以了. 复制代码 代码如下: dangranusing S

  • C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法

    方式一:Convert.ToDateTime(string) 复制代码 代码如下: Convert.ToDateTime(string) 注意:string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方式二:Convert.ToDateTime(string, IFormatProvider) 复制代码 代码如下: DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo(); dtFormat

  • c# datetime方法应用介绍

    随着工作的需要,也算是写一个为自己留着的帮助文档吧. System.DateTime currentTime=new System.DateTime(); //实例化一个 datetime 对象 当前 年月日时分秒 currentTime=System.DateTime.Now; 当前 年 int 年=currentTime.Year; 当前 月 int 月=currentTime.Month; 当前 日 int 日=currentTime.Day; 当前 时 int 时=currentTime

  • c#中DateTime.Now函数的使用详解

    复制代码 代码如下: //2008年4月24日     System.DateTime.Now.ToString("D");     //2008-4-24     System.DateTime.Now.ToString("d");     //2008年4月24日 16:30:15     System.DateTime.Now.ToString("F");     //2008年4月24日 16:30     System.DateTime

  • C#时间格式化(Datetime)用法详解

    Datetime.ToString(String, IFormatProvider) 参数format格式详细用法: 格式字符 关联属性/说明 d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m.M MonthDayPattern r.R RFC1123Pattern s 使用当地时间的 SortableDateTi

  • c#详解datetime使用示例

    实例: 用户输入一个日期,要求输出这个日期是星期几和在这一年中的第几天: 复制代码 代码如下: //声明一个DateTime类型的变量用于存放用户输入的日期DateTime dt;Console.WriteLine("请输入日期:(例如:2000-01-01 或 2000/01/01)");//把输入的日期字符串转换成日期格式类型dt = DateTime.Parse(Console.ReadLine());//因为DayOfWeek返回的是0.1.2.3.4.5.6,分别对应的是日.

  • C# DateTime.ToString根据不同语言生成相应的时间格式

    我想大家对DateTime.ToString()方法的用法肯定已经非常熟悉了,但我想大家用过的大部分用法都是:DateTime.ToString("format"),不过本文想讲述的是它的另一个重载方法DateTime.ToString("format",IFormatProvider). 如果大家做的项目中有多语言的需求的话,那么肯定少不了会有的功能要显示一个时间,由于文差异域每种语言用户对时间格式的需求肯定是不一样的,比如英文中的时间格式是:12/2/2013

  • C#日期控件datetimepicker保存空值的三种方法

    方法一(推荐): 设置datetimepicker的属性ShowCheckBox为true 在窗口初始化时候,添加代码this.datetimepicker1.Checked = false; 保存日期值入库的时候,就可以根据if(this.datetimepicker1.Checked ==false),保存空值. 方法二: 在窗口初始化函数中添加: 复制代码 代码如下: this.dateTimePicker1.Format=DateTimePickerFormat.Custom; this

  • c# datetime 格式化大全

    复制代码 代码如下: //c datetime 格式化DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:21:25Label2.Text = dt.ToFileTime().ToString();//127756416859912816Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816Label4.Text = dt.ToLoca

  • C#中比较常用的DateTime结构的使用方法

    在项目开发中,经常会碰到日期处理.比如查询中,可能会经常遇到按时间段查询,有时会默认取出一个月的数据.当我们提交数据时,会需要记录当前日期,等等.下面就看看一些常用的方法. 首先,DateTime是一个struct.很多时候,会把它当成一个类.但它真的不是,MSDN上的描述如下: DateTime结构:表示时间上的一刻,通常以日期和当天的时间表示.语法: [SerializableAttribute] public struct DateTime : IComparable, IFormatta

  • 关于C#中DateTime常用方法概述

    DateTime.Now.ToShortTimeString() DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString(); //127756416859912816 dt.ToFileTimeUtc().ToString();//127756704859912816 dt.ToLocalTime().ToString();//2005-11-5 21:21:25 dt.To

  • c# DateTime常用操作实例(datetime计算时间差)

    复制代码 代码如下: #region DateTime操作 public class C3    {        //DateTime常用的操作        public static void Fun1()        {            //格式:2012-8-16 11:21:29            Console.WriteLine("当前时间:{0}", DateTime.Now.ToString()); //格式:2012-8-16 0:00:00     

随机推荐