通过长时间的对时间不同格式的转换,自己觉得其实就是对毫秒数的操作
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); } }