转换时间为 “XX分钟之前”


public static string getTimeAgo(string strDate)
{
string strTime = string.Empty;
if (clsCommon.IsDate(strDate))
{
TimeSpan t = DateTime.UtcNow - Convert.ToDateTime(strDate);
double deltaSeconds = t.TotalSeconds;

double deltaMinutes = deltaSeconds / 60.0f;
int minutes;

if (deltaSeconds < 5)
{
return "当前";
}
else if (deltaSeconds < 60)
{
return Math.Floor(deltaSeconds) + " 秒之前";
}
else if (deltaSeconds < 120)
{
return "分钟之前";
}
else if (deltaMinutes < 60)
{
return Math.Floor(deltaMinutes) + " minutes ago";
}
else if (deltaMinutes < 120)
{
return "An hour ago";
}
else if (deltaMinutes < (24 * 60))
{
minutes = (int)Math.Floor(deltaMinutes / 60);
return minutes + " hours ago";
}
else if (deltaMinutes < (24 * 60 * 2))
{
return "Yesterday";
}
else if (deltaMinutes < (24 * 60 * 7))
{
minutes = (int)Math.Floor(deltaMinutes / (60 * 24));
return minutes + " days ago";
}
else if (deltaMinutes < (24 * 60 * 14))
{
return "Last week";
}
else if (deltaMinutes < (24 * 60 * 31))
{
minutes = (int)Math.Floor(deltaMinutes / (60 * 24 * 7));
return minutes + " weeks ago";
}
else if (deltaMinutes < (24 * 60 * 61))
{
return "Last month";
}
else if (deltaMinutes < (24 * 60 * 365.25))
{
minutes = (int)Math.Floor(deltaMinutes / (60 * 24 * 30));
return minutes + " months ago";
}
else if (deltaMinutes < (24 * 60 * 731))
{
return "Last year";
}

minutes = (int)Math.Floor(deltaMinutes / (60 * 24 * 365));
return minutes + " years ago";
}
else
{
return "";
}
}

调用方法:
getTimeAgo(DateTime.Now.ToString());

转换时间为 “XX分钟之前”,布布扣,bubuko.com

时间: 2024-10-14 20:58:20

转换时间为 “XX分钟之前”的相关文章

iOS之计算上次日期距离现在多久, 如 xx 小时前、xx 分钟前等

/**  *  计算上次日期距离现在多久  *  *  @param lastTime    上次日期(需要和格式对应)  *  @param format1     上次日期格式  *  @param currentTime 最近日期(需要和格式对应)  *  @param format2     最近日期格式  *  *  @return xx分钟前.xx小时前.xx天前  */ + (NSString *)timeIntervalFromLastTime:(NSString *)lastT

超级管理员登录后如果连续XX分钟没有操作再次操作需要重新登录

首先在设置session页面时 session_start(); session("name",$adminname); //加入session时间 time() session("time",time()); 再进入 防非法登录的控制器 class CommonController extends Controller { public function __construct() { parent::__Construct(); if(empty($_SESSI

面试题1 -- Java 中,怎么在格式化的日期中显示时区?

使用SimpleDateFormat来实现格式化日期 import java.text.SimpleDateFormat; import java.util.Date; public class DateFormatExample { public static void main(String args[]) { Date today = new Date(); System.out.println("今天 is : " + today); SimpleDateFormat DATE

alias别名、时间、screen、echo等——Linux基本命令(3)

1.alias别名 (1)查看.设置别名 Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,这样一来,以后只需输入一个简短的别名就可以达到同样的作用. alias显看当前已定义的别名 使用aliasaliname='command [-x] [....]' 可以定义别名(中括号的意思是可加可不加). 值得注意的是,不止别名=命令,还可以别名=命令+选项 例如,我们设置一个编辑网卡的配置文件别名,然后只需要输入别名,就可以进入了. (2)

JavaScript实用功能代码片段

1.原生JavaScript实现字符串长度截取 1 function cutstr(str, len) { 2 var temp; 3 var icount = 0; 4 var patrn = /[^\x00-\xff]/; 5 var strre = ""; 6 for (var i = 0; i < str.length; i++) { 7 if (icount < len - 1) { 8 temp = str.substr(i, 1); 9 if (patrn.e

iOS时间个性化设置设置

现在在很多项目中,不会直接显示时间,很多时候都是显示“刚刚”,”XX分钟前”,等等字样,那么他们是怎么实现的呢 ? 1.新建一个NSDate的类目:NSDate+XMGExtension NSDate+XMGExtension.h 文件 #import <Foundation/Foundation.h> @interface NSDate (XMGExtension) -(NSDateComponents *)deltaFrom:(NSDate *)from; /** 是否是今年 */ -(B

android中的回调

回调这种思想大家应该都用过,只是很多人不知道那是回调的一种罢了,前几天整理了一下自己对于回调的理解,就顺便把自己的一些想法整理到博客中. 让我们从一个小故事开始. 某天,我打电话向你请教问题,当然是个难题,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了.过了XX分钟,我的手机响了,你兴高采烈的说问题已经搞定,应该如此这般处理. OK,这个故事我们先告一段落,其实,这就是一个典型的回调过程. C不会自己调用b,C提供b的

Java回调函数详解

为了了解什么是回调函数,在网上查阅了如下资料,整理如下: 资料一: 首先说说什么叫回调函数? 在WINDOWS中,程序员想让系统DLL调用自己编写的一个方法,于是利用DLL当中回调函数(CALLBACK)的接口来编写程序,使它调用,这个就 称为回调.在调用接口时,需要严格的按照定义的参数和方法调用,并且需要处理函数的异步,否则会导致程序的崩溃. 这样的解释似乎还是比较难懂,这里举个简 单的例子: 程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序.程序员B要让a调用自己的程

转Java 回调函数的理解

所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数.例如Win32下的窗口过程函数就是一个典型的回调函数.一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供.由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数.Web Service以及Java的RMI都用到回调机制,可