lvyanglin 发表于 2013-2-3 10:38:53

java时间的处理

2008-05-28
java中字符串转换成时间格式总结
关键字: java 字符串 时间 格式
通过长时间的对时间不同格式的转换,自己觉得其实就是对毫秒数的操作
Java代码
System.currentTimeMillis()

    System.currentTimeMillis()

得到从1970年1月1日到现在的毫秒数,就可以转换成各种的形式。

有这样一个字符串:“20070911121547”,
转换成时间格式:2007-09-11 12:15:47

Java代码
public class bb {   
    public static void main(String[] args) {   
      // TODO Auto-generated method stub      
      SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");   
      String dateString = "20071128175545";   
      try {   
            Date date = df.parse(dateString);   
            System.out.println(df.format(date));   
      } catch (Exception ex) {   
            System.out.println(ex.getMessage());   
      }   
    }   

}

public class bb {
public static void main(String[] args) {
// TODO Auto-generated method stub   
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddhhmmss");
String dateString = "20071128175545";
try {
Date date = df.parse(dateString);
System.out.println(df.format(date));
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}

}

时间无非就是字符串类型转向时间类型,或则时间类型转向字符串类型,还有就是前一个时间,后一个时间的处理等等

自己做了一个例子:

Java代码
package com.observe.monitoralarm.util;   

import java.text.ParseException;   
import java.text.SimpleDateFormat;   
import java.util.Calendar;   
import java.util.Date;   

/**
* 时间帮助类
* @version $Id: DateUtil.java,v 1.1 2008/05/28 04:29:52 linan Exp $
* @author LiNan
*/
public class DateUtil {   

    private Calendar calendar=Calendar.getInstance();   
      
    /**
   * 得到当前的时间,时间格式yyyy-MM-dd
   * @return
   */
    public String getCurrentDate(){   
      SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");   
      return sdf.format(new Date());   
    }   
      
    /**
   * 得到当前的时间,自定义时间格式
   * y 年 M 月 d 日 H 时 m 分 s 秒
   * @param dateFormat 输出显示的时间格式
   * @return
   */
    public String getCurrentDate(String dateFormat){   
      SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);   
      return sdf.format(new Date());   
    }   
      
    /**
   * 日期格式化,默认日期格式yyyy-MM-dd
   * @param date
   * @return
   */
    public String getFormatDate(Date date){   
      SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");   
      return sdf.format(date);   
    }   
      
    /**
   * 日期格式化,自定义输出日期格式
   * @param date
   * @return
   */
    public String getFormatDate(Date date,String dateFormat){   
      SimpleDateFormat sdf=new SimpleDateFormat(dateFormat);   
      return sdf.format(date);   
    }   
    /**
   * 返回当前日期的前一个时间日期,amount为正数 当前时间后的时间 为负数 当前时间前的时间
   * 默认日期格式yyyy-MM-dd
   * @param field 日历字段
   * y 年 M 月 d 日 H 时 m 分 s 秒
   * @param amount 数量
   * @return 一个日期
   */
    public String getPreDate(String field,int amount){   
      calendar.setTime(new Date());   
      if(field!=null&&!field.equals("")){   
            if(field.equals("y")){   
                calendar.add(calendar.YEAR, amount);   
            }else if(field.equals("M")){   
                calendar.add(calendar.MONTH, amount);   
            }else if(field.equals("d")){   
                calendar.add(calendar.DAY_OF_MONTH, amount);   
            }else if(field.equals("H")){   
                calendar.add(calendar.HOUR, amount);   
            }   
      }else{   
            return null;   
      }         
      return getFormatDate(calendar.getTime());   
    }   
      
    /**
   * 某一个日期的前一个日期
   * @param d,某一个日期
   * @param field 日历字段
   * y 年 M 月 d 日 H 时 m 分 s 秒
   * @param amount 数量
   * @return 一个日期
   */
    public String getPreDate(Date d,String field,int amount){   
      calendar.setTime(d);   
      if(field!=null&&!field.equals("")){   
            if(field.equals("y")){   
                calendar.add(calendar.YEAR, amount);   
            }else if(field.equals("M")){   
                calendar.add(calendar.MONTH, amount);   
            }else if(field.equals("d")){   
                calendar.add(calendar.DAY_OF_MONTH, amount);   
            }else if(field.equals("H")){   
                calendar.add(calendar.HOUR, amount);   
            }   
      }else{   
            return null;   
      }         
      return getFormatDate(calendar.getTime());   
    }   
      
    /**
   * 某一个时间的前一个时间
   * @param date
   * @return
   * @throws ParseException   
   */
    public String getPreDate(String date) throws ParseException{   
      Date d=new SimpleDateFormat().parse(date);   
      String preD=getPreDate(d,"d",1);   
      Date preDate=new SimpleDateFormat().parse(preD);   
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");   
      return sdf.format(preDate);   
    }   
      
      
}
页: [1]
查看完整版本: java时间的处理