java evenminutedate_java高仿微博日期显示格式化,日期辅助工具类

原文:java高仿微博日期显示格式化,日期辅助工具类

源代码下载地址:http://www.zuidaima.com/share/1550463377902592.htm

仿新浪微博日期格式化工具类:

例如:

1. 刚刚

2. xx分钟前

3. hh小时前

4. 今天 HH:mm

5. 昨天 HH:mm

6. 前天 HH:mm

7. 上个月 yyyy-MM-dd HH:mm

8. 去年 yyyy-MM-dd HH:mm

9. 前年 yyyy-MM-dd HH:mm

今天写的代码,结构还很粗糙,只是实现了功能而已。下次重构下支持格式描述符之后再发上来

?

class="java">package com.zuidaima.haohui.common.utils;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Locale;

/**

*

* import java.text.SimpleDateFormat;

*@author www.zuidaima.com

**/

import java.util.Calendar;

public class Super2{

public static void main(String args[]){

Calendar cal = Calendar.getInstance();

//n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推

int n = 2;

String monday;

cal.add(Calendar.DATE, n*7);

//想周几,这里就传几Calendar.MONDAY(TUESDAY...)

cal.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);

monday = new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());

System.out.println(monday);

}

}

* @project baidamei

* @author cevencheng

* @create 2012-11-10 上午1:12:21

*/

public class DateUtil {

public static void main(String[] args) throws ParseException {

//SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//java.util.Date begin = dfs.parse("2004-01-02 11:30:24");

//java.util.Date end = dfs.parse("2004-03-26 13:31:40");

//long between = (end.getTime() - begin.getTime()) / 1000;// 除以1000是为了转换成秒

//

//long day = between / (24 * 3600);

//long hour = between % (24 * 3600) / 3600;

//long minute = between % 3600 / 60;

//long second = between % 60 / 60;

//System.out.println("" + day + "天" + hour + "小时" + minute + "分" + second + "秒");

//System.out.println(begin.getTime());

//

//System.out.println(getDaysBeforeNow(new Date()));

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

Date date = df.parse("2012-11-18");

Calendar cal = Calendar.getInstance();

cal.add(Calendar.DATE, -7);

cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); //上周一

System.out.println(df.format(cal.getTime()));

cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); //周末

System.out.println(df.format(cal.getTime()));

}

/**

* 时间间隔计算

*

*/

public static String getDaysBeforeNow(Date date) {

long sysTime = Long.parseLong(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));

long ymdhms = Long.parseLong(new SimpleDateFormat("yyyyMMddHHmmss").format(date));

String strYear = "年前";

String strMonth = "月前";

String strDay = "天前";

String strHour = "小时前";

String strMinute = "分钟前";

try {

if (ymdhms == 0) {

return "";

}

long between = (sysTime / 10000000000L) - (ymdhms / 10000000000L);

if (between > 0) {

return between + strYear;

}

between = (sysTime / 100000000L) - (ymdhms / 100000000L);

if (between > 0) {

return between + strMonth;

}

between = (sysTime / 1000000L) - (ymdhms / 1000000L);

if (between > 0) {

return between + strDay;

}

between = (sysTime / 10000) - (ymdhms / 10000);

if (between > 0) {

return between + strHour;

}

between = (sysTime / 100) - (ymdhms / 100);

if (between > 0) {

return between + strMinute;

}

return "1" + strMinute;

} catch (Exception e) {

return "";

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值