/**
* 将一个时间戳转换成提示性时间字符串,如刚刚,1秒前
*
* @param timeStamp
* @return
*/
public static String convertTimeToFormat(long timeStamp) {
long time = (System.currentTimeMillis() - timeStamp) / (long) 1000;
if (time < 60 && time >= 0) {
return "刚刚";
} else if (time >= 60 && time < 3600) {
return time / 60 + "分钟前";
} else if (time >= 3600 && time < 3600 * 24) {
return time / 3600 + "小时前";
} else if (time >= 3600 * 24 && time < 3600 * 24 * 30) {
return time / 3600 / 24 + "天前";
} else if (time >= 3600 * 24 * 30 && time < 3600 * 24 * 30 * 12) {
return time / 3600 / 24 / 30 + "个月前";
} else if (time >= 3600 * 24 * 30 * 12) {
return time / 3600 / 24 / 30 / 12 + "年前";
} else {
return "刚刚";
}
}
public class DateUtil {
/**
* 将一个时间戳转换成提示性时间字符串,如刚刚,1秒前
*/
public static String convertTimeToFormat(String timeStamp) {
long curTime =System.currentTimeMillis()/1000 ;
long time = curTime - Long.parseLong(timeStamp);
if (time < 60 && time >= 0) {
return "刚刚";
} else if (time >= 60 && time < 3600) {
return time / 60 + "分钟前";
} else if (time >= 3600 && time < 3600 * 24) {
return time / 3600 + "小时前";
} else if (time >= 3600 * 24 && time < 3600 * 24 * 30) {
return time / 3600 / 24 + "天前";
} else if (time >= 3600 * 24 * 30 && time < 3600 * 24 * 30 * 12) {
return time / 3600 / 24 / 30 + "个月前";
} else if (time >= 3600 * 24 * 30 * 12) {
return time / 3600 / 24 / 30 / 12 + "年前";
}else {
return curTime+"-"+Long.parseLong(timeStamp)*1000+"-"+time+"";
}
}
/**
* 时间戳转化为日期格式字符串
*/
public static String timeStampToDate(String seconds, String format) {
if(seconds == null || seconds.isEmpty() || seconds.equals("null")){
return "";
}
if(format == null || format.isEmpty()) format = "yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(new Date(Long.valueOf(seconds+"000")));
}
/**
* 日期格式字符串转换成时间戳
*/
public static String dateToTimeStamp(String date_str, String format){
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return String.valueOf(sdf.parse(date_str).getTime()/1000);
} catch (Exception e) {
e.printStackTrace();
}
return "";
}
/**
* 取得当前时间戳(精确到秒)
* @return
*/
public static String timeStamp(){
long time = System.currentTimeMillis();
String t = String.valueOf(time/1000);
return t;
}
/**
* 取得指定日期时间戳(精确到秒)
* @return
*/
public static String timeStamp1(String s) throws ParseException {
long time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(s).getTime();
String t = String.valueOf(time/1000);
return t;
}
/**
* 根据日期计算周几
*
* @param strParams
* @return
*/
public static String caculateWeeks(String strParams) {
String Week = "";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
try {
c.setTime(format.parse(strParams));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (c.get(Calendar.DAY_OF_WEEK) == 1) {
Week += "天";
}
if (c.get(Calendar.DAY_OF_WEEK) == 2) {
Week += "一";
}
if (c.get(Calendar.DAY_OF_WEEK) == 3) {
Week += "二";
}
if (c.get(Calendar.DAY_OF_WEEK) == 4) {
Week += "三";
}
if (c.get(Calendar.DAY_OF_WEEK) == 5) {
Week += "四";
}
if (c.get(Calendar.DAY_OF_WEEK) == 6) {
Week += "五";
}
if (c.get(Calendar.DAY_OF_WEEK) == 7) {
Week += "六";
}
return Week;
}
}
在Activity用法:
public class Main3Activity extends Activity {
private TextView tv1,tv2,tv3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
tv1= (TextView) findViewById(R.id.textView1);
tv2= (TextView) findViewById(R.id.textView2);
tv3= (TextView) findViewById(R.id.textView3);
try {
String timeStamp = DateUtil.timeStamp1("2010-12-25 11:54:00");
tv1.setText(DateUtil.timeStampToDate(timeStamp, "yyyy-MM-dd HH:mm:ss"));
tv2.setText(timeStamp+"=="+DateUtil.dateToTimeStamp(DateUtil.timeStampToDate(timeStamp, "yyyy-MM-dd HH:mm:ss"), "yyyy-MM-dd HH:mm:ss"));
tv3.setText(DateUtil.convertTimeToFormat(timeStamp));
} catch (ParseException e) {
e.printStackTrace();
}
}
}