时间格式的处理

来源:互联网 发布:centos 6.5 squid 编辑:程序博客网 时间:2024/05/17 03:03

在编程中大家会遇到时间格式的处理,我总结了一些方法。

 

一:对于格林威治时间的解析成字符串的时间
import java.util.*;
import java.text.*;
public class TimeTest
{
 public static void main(String args[]) throws Exception
 {
  String str = "Sun Jan 29 14:34:06 格林尼治标准时间+0800 2012";
  SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss 格林尼治标准时间+0800 yyyy",Locale.ENGLISH);
  Date d = sdf.parse(str);
  SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  System.out.println(sdf2.format(d));
 }
}

二:对于字符串拼接的时间处理成date类型保存到数据库,这种保存后的数据为Mon Feb 18 04:24:00 CST 1946这种格式,读取这个格式时间还需要转换,方法为下面第三:

 

public  Date StringToDate1(String dateStr){
  DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");  
  Date date=null;  
  try {   
   date = sdf.parse(dateStr);  
   } catch (ParseException e)
   {   
    e.printStackTrace();     
   } 
  System.out.println("--"+date);
  return date; 
  
 }

 

三:对于Mon Feb 18 04:24:00 CST 1946这种时间格式转化为字符串类型方法如下:

public class fyg {

    public static void main(String[] args) {      

        String str = "Wed Dec 03 12:20:00 CST 2014";//Mon Feb 18 04:24:00 格林尼治标准时间+0800 1946
        Date date = parse(str, "EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
        System.out.printf("%tF %<tT%n", date);
    }

    public static Date parse(String str, String pattern, Locale locale) {
        if(str == null || pattern == null) {
            return null;
        }
        try {
            return new SimpleDateFormat(pattern, locale).parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static String format(Date date, String pattern, Locale locale) {
        if(date == null || pattern == null) {
            return null;
        }
        return new SimpleDateFormat(pattern, locale).format(date);
    }
}

希望对大家有所帮助!

0 0