10-01
12

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);  
    }  
      
      
}  


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 字符串
相关日志:
评论: 0 | 引用: 0 | 查看次数: 387
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭