package com.jia.dimensions_of_electricity.util;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeUtils {
private static SimpleDateFormat sf = null;
/**
* (int)时间戳转Date
*
* @param timestamp
* @return
*/
public static Date stampForDate(Integer timestamp) {
return new Date((long) timestamp * 1000);
}
/**
* (long)时间戳转Date
*
* @param timestamp
* @return
*/
public static Date longStampForDate(long timestamp) {
return new Date(timestamp);
}
/**
* (long)时间戳转string
*
* @param time
* @return
*/
public static String getDateToString(long time) {
Date d = new Date(time);
sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sf.format(d);
}
/**
* string转(long)时间戳
* @param time
* @return
*/
public static long getStringToDate(String time) {
sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
try {
date = sf.parse(time);
} catch (Exception e) {
e.printStackTrace();
}
return date.getTime();
}
/**
* date转String
*
* @param date
* @return
*/
public static String dateForString(Date date) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//时间的格式
return sdf.format(date);
}
/**
* String转Date
*
* @param time
* @return
*/
public static Date stringForDate(String time) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//时间的格式
Date date = null;
try {
date = sdf.parse(time);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
/**
* Date转时间戳
*
* @param data
* @return
*/
public static Integer dateForStamp(Date data) {
return (int) (data.getTime() / 1000);
}
}
显示时间为XXX之前
package com.wd.utilmodule.util.timeutil;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* describe:显示时间是多久之前,比如10分钟前,8小时前,一月前等等
*/
public class DateUtil {
/**
*
* @param long_time
* @return
*/
public static String getTimeStateNew(long long_time) {
String long_by_13 = "1000000000000";
String long_by_10 = "1000000000";
if (Long.valueOf(long_time) / Long.valueOf(long_by_13) < 1) {
if (Long.valueOf(long_time) / Long.valueOf(long_by_10) >= 1) {
long_time = long_time;
}
}
Timestamp time = new Timestamp(Long.valueOf(long_time));
Timestamp now = new Timestamp(System.currentTimeMillis());
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//System.out.println("传递过来的时间:"+format.format(time));
//System.out.println("现在的时间:"+format.format(now));
long day_conver = 1000 * 60 * 60 * 24;
long hour_conver = 1000 * 60 * 60;
long min_conver = 1000 * 60;
long time_conver = now.getTime() - time.getTime();
long temp_conver;
// System.out.println("天数:"+time_conver/day_conver);
if ((time_conver / day_conver) < 3) {
temp_conver = time_conver / day_conver;
if (temp_conver <= 2 && temp_conver >= 1) {
return temp_conver + "天前";
} else {
temp_conver = (time_conver / hour_conver);
if (temp_conver >= 1) {
return temp_conver + "小时前";
} else {
temp_conver = (time_conver / min_conver);
if (temp_conver >= 1) {
return temp_conver + "分钟前";
} else {
return "刚刚";
}
}
}
} else {
return format.format(time);
}
}
public static String multiSendTimeToStr(long timeStamp) {
if (timeStamp == 0) return "";
Calendar inputTime = Calendar.getInstance();
String timeStr = timeStamp + "";
if (timeStr.length() == 10) {
timeStamp = timeStamp * 1000;
}
inputTime.setTimeInMillis(timeStamp);
Date currenTimeZone = inputTime.getTime();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
if (calendar.before(inputTime)) {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
return sdf.format(currenTimeZone);
}
calendar.add(Calendar.DAY_OF_MONTH, -1);
if (calendar.before(inputTime)) {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
return "昨天";
} else {
calendar.add(Calendar.DAY_OF_MONTH, -5);
if (calendar.before(inputTime)) {
return getWeekDayStr(inputTime.get(Calendar.DAY_OF_WEEK));
} else {
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
if (calendar.before(inputTime)) {
SimpleDateFormat sdf = new SimpleDateFormat("M" + "/" + "d" + " ");
String temp1 = sdf.format(currenTimeZone);
SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm");
String temp2 = sdf1.format(currenTimeZone);
return temp1 + temp2;
} else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy" + "/" + "M" + "/" + "d" + " ");
String temp1 = sdf.format(currenTimeZone);
SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm");
String temp2 = sdf1.format(currenTimeZone);
return temp1 + temp2;
}
}
}
}
/**
*
* @param timeStamp 单位为秒
*/
public static String getChatTimeStr(long timeStamp) {
if (timeStamp == 0) return "";
Calendar inputTime = Calendar.getInstance();
String timeStr = timeStamp + "";
if (timeStr.length() == 10) {
timeStamp = timeStamp * 1000;
}
inputTime.setTimeInMillis(timeStamp);
Date currenTimeZone = inputTime.getTime();
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
if (calendar.before(inputTime)) {
SimpleDateFormat sdf = new SimpleDateFormat("h:mm");
return timeFormatStr(inputTime, sdf.format(currenTimeZone));
}
calendar.add(Calendar.DAY_OF_MONTH, -1);
if (calendar.before(inputTime)) {
SimpleDateFormat sdf = new SimpleDateFormat("h:mm");
return "昨天" + " " + timeFormatStr(inputTime, sdf.format(currenTimeZone));
} else {
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
if (calendar.before(inputTime)) {
SimpleDateFormat sdf = new SimpleDateFormat("M" + "月" + "d" + "日");
String temp1 = sdf.format(currenTimeZone);
SimpleDateFormat sdf1 = new SimpleDateFormat("h:mm");
String temp2 = timeFormatStr(inputTime, sdf1.format(currenTimeZone));
return temp1 + temp2;
} else {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy" + "年" + "M" + "月" + "d" + "日");
String temp1 = sdf.format(currenTimeZone);
SimpleDateFormat sdf1 = new SimpleDateFormat("h:mm");
String temp2 = timeFormatStr(inputTime, sdf1.format(currenTimeZone));
return temp1 + temp2;
}
}
}
/**
* 24小时制转化成12小时制
*
* @param strDay
*/
public static String timeFormatStr(Calendar calendar, String strDay) {
String tempStr = "";
int hour = calendar.get(Calendar.HOUR_OF_DAY);
if (hour > 11) {
tempStr = "下午" + " " + strDay;
} else {
tempStr = "上午" + " " + strDay;
}
return tempStr;
}
/**
* 时间转化为星期
*
* @param indexOfWeek 星期的第几天
*/
public static String getWeekDayStr(int indexOfWeek) {
String weekDayStr = "";
switch (indexOfWeek) {
case 1:
weekDayStr = "星期日";
break;
case 2:
weekDayStr = "星期一";
break;
case 3:
weekDayStr = "星期二";
break;
case 4:
weekDayStr = "星期三";
break;
case 5:
weekDayStr = "星期四";
break;
case 6:
weekDayStr = "星期五";
break;
case 7:
weekDayStr = "星期六";
break;
}
return weekDayStr;
}
}