工具函数

单位换算

  • 小数点四舍五入

     //距离单位 m,km
     public static String mToKm(float f,String format){
          try {
              if(f>1000){
                  return new java.text.DecimalFormat(format).format(f/1000)+"km";
              }else{
                  return new java.text.DecimalFormat(format).format(f)+"m";
              }
          } catch (Exception e) {
              throw new RuntimeException("参数不合法");
          }
      }

日期处理

  • 日期加减

//前一天
Calendar calendar = Calendar.getInstance();
calendar.setTime(DateFormatUtil.getDate4StrDate("2017-11-10 12:09", "yyyy-MM-dd HH:mm"));
calendar.add(Calendar.DATE,-1);//把日期往后减少一天.整数往后推,负数往前移动         
System.out.println(DateFormatUtil.getStrDate4Date(calendar.getTime(), "yyyy-MM-dd HH:mm"));
//后一天
Calendar calendar = Calendar.getInstance();
calendar.setTime(DateFormatUtil.getDate4StrDate("2017-11-10 12:09", "yyyy-MM-dd HH:mm"));
calendar.add(Calendar.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动         
System.out.println(DateFormatUtil.getStrDate4Date(calendar.getTime(), "yyyy-MM-dd HH:mm"));
//日期的string进行比较
//0如果参数日期等于此日期; 如果这个日期在Date参数之前返回一个小于0的值 ;  如果这个日期在Date参数之后返回一个大于0的值。
//compareTo
String date = "2017-07-17 11:03:52";
System.out.println("compareToBefore1 : "+date.compareTo("2017-06-16 11:03:52"));
System.out.println("compareToBefore2 : "+date.compareTo("2017-05-16 11:03:52"));
System.out.println("compareToNow1 : "+date.compareTo("2017-07-17 11:03:52"));
System.out.println("compareToNow2 : "+date.compareTo("2017-07-17"));
System.out.println("compareToAfter1 : "+date.compareTo("2017-07-18 11:03:52"));
System.out.println("compareToAfter2 : "+date.compareTo("2017-09-16 11:03:52"));

//日期格式进行比较

Calendar c = Calendar.getInstance();

c.set(2016,5,4);
Date before =c.getTime();

c.set(2016,5,5);
Date now=c.getTime();

c.set(2016,5,6);
Date after=c.getTime();

//before早于now,返回负数,可用于判断活动开始时间是否到了
int compareToBefore=before.compareTo(now);
System.out.println("compareToBefore = "+compareToBefore);

int compareToIntNow=now.compareTo(now);
System.out.println("compareToIntNow = "+compareToIntNow);

//after晚于now,返回正数,可用于判断活动结束时间是否到了
int compareToIntAfter=after.compareTo(now);
System.out.println("compareToIntAfter = "+compareToIntAfter);
  • 时间格式转换

String To Date

/**
 * <P>
 * 将字符串类型的日期格式 转换为 符合要求的 Date类型的日期格式
 * </P>
 * 
 * @param date
 * @param format
 * @return
 */
public static Date getDate4StrDate(String date, String format) {
    if (date == null || date.trim().equals("")) {
        return null;
    } else {
        SimpleDateFormat df = new SimpleDateFormat(format);
        try {
            return df.parse(date);
        } catch (ParseException e) {
            return null;
        }
    }
}

Date To String

public static String getStrDate4Date(Date date, String format) {
    if (date == null) {
        return "";
    } else {
        SimpleDateFormat df = new SimpleDateFormat(format);
        return df.format(date);
    }
}

Last updated

Was this helpful?