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

我们在评论中往往会看到多少天前,多少小时前。

实现原理:现在时间-过去时间 得到的时间差来做比较

下面我定义了一个Helper类,大家直接引用即可,参数就是时间差,注意时间差类型是TimeSpan类型,而不是DateTime类型哦~

TimeHelper.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 时间测试
{
    /// <summary>
    /// 根据过去和现在的两个DateTime时间差计算出评论大概时间
    /// </summary>
    public class TimeHelper
    {
        public static string GetTimeSpan(TimeSpan ts)
        {
            if (Math.Floor(ts.TotalDays)>365)
            {
                return Math.Floor(ts.TotalDays) / 365 + "年前";
            }
            else if(Math.Floor(ts.TotalDays)>30)
            {
                return Math.Floor(ts.TotalDays) / 30 + "月前";
            }
            else if(Math.Floor(ts.TotalDays)>1)
            {
                return Math.Floor(ts.TotalDays) + "天前";
            }
            else if(Math.Floor(ts.TotalHours)>1)
            {
                return Math.Floor(ts.TotalHours) + "小时前";
            }
            else if(Math.Floor(ts.TotalMinutes)>1)
            {
                return Math.Floor(ts.TotalMinutes) + "分钟前";
            }
            else
            {
                return Math.Floor(ts.TotalSeconds) + "秒前";
            }

        }

    }
}
时间: 2025-01-06 10:47:31

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

如何将时间改为显示:几天前,几小时前,或者几分钟前

http://www.oschina.net/question/657074_89320#tags_nav 如这样的  最后发帖:2011-01-05 12:33 要改成这样怎么实现: 最后发表:  2分钟前 最后发表:  28秒前 最后发表:  2025-04-18   最后发表:  2小时前 最后发表: 2天前 解答: 创建时间-当前时间 如果在60秒之内显示多少秒之前, 如果大于60秒在60分之内,显示多少分 ……以此类推 timemap加减 个人做法是保存时间戳,然后在前端用jq插件做转

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

最近在做项目的时候,需要把后台返回的时间转换成几秒前.几分钟前.几小时前.几天前等的格式:后台返回的时间格式为:2015-07-30 09:36:10,需要根据当前的时间与返回的时间进行对比,最后显示成几秒前.几分钟前.几小时前.几天前的形式. 1.由于返回的时间是字符串格式,所以要先转换成时间戳 //字符串转换为时间戳 function getDateTimeStamp (dateStr) { return Date.parse(dateStr.replace(/-/gi,"/"))

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

/* *function:显示某一个时间相当于当前时间在多少秒前,多少分钟前,多少小时前 *timeInt:unix time时间戳 *format:时间显示格式 */ public function timeFormat($timeInt,$format='Y-m-d H:i:s'){ if(empty($timeInt)||!is_numeric($timeInt)||!$timeInt){ return ''; } $d=time()-$timeInt; if($d<0){ return

北京邮电大学关于研究生在读期间公开发表学术论文要求的规定(2014年10月修订)

北京邮电大学关于研究生在读期间公开发表学术论文要求的规定(2014年10月修订) 第一条 学位授予质量特别是博士学位授予质量代表了一个学校的学术水平.研究生在读期间公开发表学术论文是证明其学术水平,获得博士.硕士学位的必要条件.为了保证和进一步提高我校博士.硕士学位授予质量,特制订本规定. 第二条 研究生在提出学位论文答辩申请时,必须提供其攻读学位期间以北京邮电大学为第一署名单位正式发表的学术论文.获得的科技奖励或发明专利等能反映其学术水平的相关证明材料.所提供的学术论文必须以研究生本人为第一作

long类型的时间转为n秒前n分钟前n小时前或者日期

1 package com.tai.use; 2 3 import java.text.DateFormat; 4 import java.text.SimpleDateFormat; 5 import java.util.Calendar; 6 import java.util.Date; 7 8 public class GuiYI 9 { 10 /** 11 * GuiYI 诡异的需求 12 * 转为 n秒前 n分钟前 n小时前 日期 13 * @param time 14 * @para

xen时间改不过来的问题

Xen 虚拟机默认不允许不同的虚拟机使用不同的系统时间,因此所有虚拟机的系统时间都会同宿主机的系统时间严格同步,用 date 命令修改虚拟机系统时间时虽然提示成功但其实系统时间还是没变.若有独立修改 Xen 虚拟机的特殊需要,可以通过如下方法进行: 1.关闭虚拟机和宿主机的时间同步 echo xen.independent_wallclock=1 >>/etc/sysctl.conf 2.刷新使立即生效 sysctl -p 3.设置时间自动同步 ntpdate asia.pool.ntp.or

蓝牙默认被检测时间改为 永不超时

1.修改AdapterProperties.java文件a) 添加1行:import android.content.SharedPreferences;//added MTKb) 添加2行,位置如下:// Lock for all getters and setters.// If finer grained locking is needer, more locks// can be added here.private Object mObject = new Object();priva

@Scheduled(cron = &quot;0/5 * * * * *&quot;)将时间改为配置

有两种方法:第一种当然你可以把Scheduled写到xml文件中进行配置. 第二种在你的类前面添加 此处讲解第二种写法 第二种在你的类前面添加@PropertySource("classpath:root/test.props") 然后修改你的@Scheduled(cron="0/5 * * * * ? ") 为 @Scheduled(cron="${jobs.schedule}")最后在配置文件 test.props中 添加 jobs.sche

php根据时间显示刚刚,几分钟前,几小时前的实现代码

<?php /** * php<a href="http://www.jbxue.com/zt/shijianzhuanhuan/" target="_blank" class="infotextkey">时间转换</a> * edit by www.jbxue.com */ date_default_timezone_set('PRC'); $date = "1351836000"; echo