java中字符串转换成时间格式总结

通过长时间的对时间不同格式的转换,自己觉得其实就是对毫秒数的操作

System.currentTimeMillis()

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

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

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

}


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

自己做了一个例子:

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


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值