//使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前
//2008年03月15日 星期六 02:35
public string DateStringFromNow(DateTime dt)
{
TimeSpan span = DateTime.Now - dt;
if (span.TotalDays > )
{
return dt.ToShortDateString();
}
else
{
if (span.TotalDays > )
{
return
"1个月前";
}
else
{
if (span.TotalDays > )
{
return
"2周前";
}
else
{
if (span.TotalDays > )
{
return
"1周前";
}
else
{
if (span.TotalDays > )
{
return
string.Format("{0}天前", (int)Math.Floor(span.TotalDays));
}
else
{
if (span.TotalHours > )
{
return
string.Format("{0}小时前", (int)Math.Floor(span.TotalHours));
}
else
{
if (span.TotalMinutes > )
{
return
string.Format("{0}分钟前", (int)Math.Floor(span.TotalMinutes));
}
else
{
if (span.TotalSeconds >= )
{
return
string.Format("{0}秒前", (int)Math.Floor(span.TotalSeconds));
}
else
{
return
"1秒前";
}
}
}
}
}
}
}
}
} //C#中使用TimeSpan计算两个时间的差值
//可以反加两个日期之间任何一个时间单位。
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
return dateDiff;
} //说明:
/**/
/*1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。
*/ /**/
/// <summary>
/// 日期比较
/// </summary>
/// <param name="today">当前日期</param>
/// <param name="writeDate">输入日期</param>
/// <param name="n">比较天数</param>
/// <returns>大于天数返回true,小于返回false</returns>
private bool CompareDate(string today, string writeDate, int n)
{
DateTime Today = Convert.ToDateTime(today);
DateTime WriteDate = Convert.ToDateTime(writeDate);
WriteDate = WriteDate.AddDays(n);
if (Today >= WriteDate)
return false;
else
return true;
}

使用C#把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前的更多相关文章

  1. 使用C#把发表的时间改为几年前,几个月,几天前,几小时前,几分钟前,或几秒前

    我们在评论中往往会看到多少天前,多少小时前. 实现原理:现在时间-过去时间 得到的时间差来做比较 下面我定义了一个Helper类,大家直接引用即可,参数就是时间差,注意时间差类型是TimeSpan类型 ...

  2. Windows下如何检测用户修改了系统时间并且把系统时间改回来

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:Windows下如何检测用户修改了系统时间并且把系统时间改回来.

  3. 把系统时间改到以前后,MyEclipse9.1的工程里的JS文件修改完保存但MyEclipse不会将其不会更新。

    一个任务中,由于本周数据还没有产生,只好把系统时间修改到上周,利用下上周的数据. 修改内容主要是增加查询子句的一个字段,因此,包含SQL的DAO,前台显示的Table和前台操作的JS都需要相应修改,它 ...

  4. js把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式

    最近在做项目的时候,需要把后台返回的时间转换成几秒前.几分钟前.几小时前.几天前等的格式:后台返回的时间格式为:2015-07-30 09:36:10,需要根据当前的时间与返回的时间进行对比,最后显示 ...

  5. PHP计算两个时间的年数、月数以及天数

    如何获取两个不同时间相差几年几月几日呢?比如当前时间距离2008年08月08日的北京奥运会有几年几月几日了?需要说明的是:1.定义一年为360天,一个月为30天:2.代码中86400=24*60*60 ...

  6. php 显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前

    /* *function:显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前 *timeInt:unix time时间戳 *format:时间显示格式 */ public function ...

  7. Java封装的与当前时间比较,得到多少年,多少月,多少天前,多少小时前,多小分钟前

    public class CalendarCal { /**  * 与当前时间比较,得到多少年,多少月,多少天前,多少小时前,多小分钟前  *   * @param calendar  *       ...

  8. PHP比较全的友好的时间显示,比如‘刚刚’,'几秒前'等

    分享一个php友好的比较完成的时间格式化函数,包括‘刚刚’,'几秒之前',‘几分钟前’,'几小时前',几天前,几周前,几个月前等.调用方式很简单,是从ThinkSNS 里面拿出来的. /** * 友好 ...

  9. python获取时间————前一天后一天前一小时后一小时前一分钟后一分钟

    获取当天日期 一: import time print(time.strftime("%Y-%m-%d")) #输出当前日期 2018-05-01 二: import dateti ...

随机推荐

  1. 【转】【WPF】WPF为stackpanel设置滚动条

    <ScrollViewer x:Name="scrolls" VerticalScrollBarVisibility="Auto" HorizontalS ...

  2. 在MySQL中创建cm-hive使用的数据库及账号

    放上来做一个备份,免得忘了密码,囧~ mysql> create database metastore default character set utf8; Query OK, row aff ...

  3. e829. 获得和设置JTabbedPane 的卡片

    // To create a tabbed pane, see e828 创建JTabbedPane // Get the index of the currently selected tab in ...

  4. QA:无法为具有固定名称“MySql.Data.MySqlClient”...

    Question: 无法为具有固定名称“MySql.Data.MySqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“MySql.Data.MySqlC ...

  5. Unity----Scene加载问题

    Unity官方提供了4种加载场景(scene)的方法,分别是: 1. Application.LoadLevel():同步加载 2. Application.LoadLevelAsync():异步加载 ...

  6. VMware Workstation与VM ware Esxi使用OVF文件交互

    实验环境: VMware Workstation  12 Pro 版本 VMware Esxi  6.0.0  版本 VMware Workstation安装一个Linux系统,把VMware Wor ...

  7. MySQL binlog日志操作详解

    MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. bi ...

  8. bioperl 格式化genebank的输出

    代码如下: use Bio::SeqIO; use Bio::DB::GenBank; use Bio::DB::Query::GenBank; my $db_obj = Bio::DB::GenBa ...

  9. [mysql] linux下使用yum安装mysql

    From: http://www.2cto.com/database/201207/141878.html linux下使用yum安装mysql   1.安装 查看有没有安装过:           ...

  10. EJB简介

    EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序,类似微软的.net技术.凭借java跨平台的优势,用EJB技术部署的分布式系统可以不限于特定的平台.  EJB (Enterprise ...