C# 显示过去了多长时间的函数

public string HowLongBeforeNow
        {
            get
            {
                var ts = new TimeSpan(DateTime.UtcNow.Ticks - CreatedDate.Ticks);
                var delta = ts.TotalSeconds;

                const int second = 1;
                const int minute = 60 * second;
                const int hour = 60 * minute;
                const int day = 24 * hour;
                const int month = 30 * day;
                if (delta < 0)
                {
                    throw new InvalidDataException("The CreatedDate can not be gather than today.");
                }
                if (delta < 1 * minute)
                {
                    return ts.Seconds == 1 ? "1 second ago" : ts.Seconds + " seconds ago";
                }
                if (delta < 2 * minute)
                {
                    return "1 minute ago";
                }
                if (delta < 45 * minute)
                {
                    return ts.Minutes + " minutes ago";
                }
                if (delta < 90 * minute)
                {
                    return "1 hour ago";
                }
                if (delta < 24 * hour)
                {
                    return ts.Hours + " hours ago";
                }
                if (delta < 48 * hour)
                {
                    return "yesterday";
                }
                if (delta < 30 * day)
                {
                    return ts.Days + " days ago";
                }
                if (delta < 12 * month)
                {
                    var months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
                    return months <= 1 ? "1 month ago" : months + " months ago";
                }
                var years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
                return years <= 1 ? "1 year ago" : years + " years ago";
            }
        }

css:

.how-long-ago {
        font-style: italic;
        color: #777;
    }
时间: 2024-12-25 22:57:52

C# 显示过去了多长时间的函数的相关文章

php显示距当前多长时间

<?php header("Content-type: text/html; charset=utf-8");date_default_timezone_set('PRC');$time = "121212122";echo format_date($time); /*方法一*/function format_date($time){ $t=time()-$time; $f=array( '31536000'=>'年', '2592000'=>'个

屏蔽电信流氓广告造成的诡异的问题--Android WebView 长时间不能加载页面

发现在家里的时候用Android App里的WebView打开网站很慢,会有十几秒甚至更长时间的卡住. 但是在电脑上打开同样的网页却很快. 查找这个问题的过程比较曲折,记录下来. 抓取Android网络数据 为了调试这个问题,首先要抓取Android的网络包数据.开始时,是想用Wireshark来抓包的,但是很麻烦,tcpdump在手机要root权限. 于是转换思路,能不能在Android上设置代理,来抓包? 但是fiddler没有linux版本,于是转用BurpSuite了. 设置Androi

一些外国网站长时间不响应,点叉才能打开的问题

由于google在国外的广泛性,很多外国网站页面嵌入了google anlaytics的js代码,国内由于众所周知的原因,不能访问google域名的东西,导致浏览器解析这个js文件的时候长时间等待,页面无法渲染, 只能强制点叉停止浏览器解析才能显示部分内容,总FQ也比较烦, 无奈还是FQ去chrome的商店找了这个插件,禁止chrome使用google analytics工具,这个还是google自己提供的. https://support.google.com/analytics/answer

ubuntu常用命令总结(整理好长时间所得)

1.df命令 # df -ha 显示所有的档案以及分区的使用情况 # df -h /dev/sda1 显示sda1的磁盘使用情况 # df -T 显示每个分区的所属的档案系统名称,也会显示分区的格式类型(比如ext3) 注:h参数表示转换为M,G等人们常用的磁盘空间单位显示 2.du命令 # du -h src 显示src目录中各个文件(或者文件)所占用的磁盘空间 # du -hs /usr 显示usr目录中所有文件的总大小 # du -h test.c 显示test.c文件所占用的磁盘空间 3

WPF:鼠标长时间无操作,窗口隐藏

//设置鼠标长时间无操作计时器 private System.Timers.Timer MouseTimerTick = new System.Timers.Timer(10000); private void Window_Activated(object sender, EventArgs e) { this.Dispatcher.Invoke(new Action(() => { //显示 })); MouseTimerTick.Stop(); } private void Window_

WPF窗口长时间无人操作鼠标自动隐藏

原文:WPF窗口长时间无人操作鼠标自动隐藏 在软件开发中有时会有等待一段时间无人操作后隐藏鼠标,可能原因大致如下: 1.为了安全性,特别是那些需要用到用户名和密码登录服务端的程序,常常考虑长期无人操作,程序自动跳转到用户登录界面: 2.软件为了更好的播放效果,需要隐藏鼠标. 这里写的是第二种情况,wpf做播放时,需要隐藏鼠标. 思路是:假如3s鼠标不动则隐藏,设计了计时器的间隔时间为1s,并添加鼠标没移动的计数器,计数器达到3才执行程序.实现是这样的:每隔1s检测鼠标是否移动,如果不移动则计数器

Git Compare with base,比较大文件时,长时间等待,无法加载

问题 当使用Git比较一个大文件(几十兆数量级)版本见差异时,会一直等待加载,且内存消耗很大,导致其他进程很难执行.任务管理器中,可以看到此时的TortoiseGitMerge吃掉3G左右的内存. ? 原因 文件太大,加载很慢. ? 解决方法 其实,我们在使用[Compare with base]这个功能时,想要比较版本间文件的不同之处,因此,无需加载整个文件内容,只显示出文件中的不同内容即可.设置如下: 先使用[Compare with base]比较一个小文件,否则,肯能要等很长时间去加载一

MTK 开机黑屏很长时间

MT6735平台,可以开机,但是黑屏很长时间才看到开机图片. 查看串口LOG发现手机是正常运行的,也就是说LCM驱动没有异常,黑屏阶段也没有什么错误报出. 在MTK的FAQ上找到如下: [DESCRIPTION] 本FAQ只讨论开机过程中黑屏,不讨论花屏(可以参考刷).只讨论L/M版本(之前的KK/JB版本可以作为参考). 首先要看一下是否IPO开机,即在setting-->辅助功能-->不勾选"fast boot",如果不黑屏,说明是因为ipo这个过程中的问题,那么问题需

几个故事告诉你, 火了那么长时间的区块链究竟是什么?

几个故事告诉你, 火了那么长时间的区块链究竟是什么? 有观点认为,区块链与人工智能.大数据是金融科技三大支柱,区块链或许会是10年后的“互联网” 文 |徐明星 田颖 李霁月 本文为瞭望智库书摘 摘编自<图说区块链:神一样的金融科技与未来社会>,中信出版集团出版,不代表瞭望智库观点. 下文用简洁的语言和图片,向大家解释究竟什么是区块链技术 近年来,包括摩根大通.花旗集团.高盛集团.纳斯达克等在内的金融巨头,都表达了对区块链技术的热衷.这些巨头们热衷的区块链技术,又被称为分布式账本,那么分布式账本