java日期转换

Java日期转换详解
本文详细介绍了Java中使用SimpleDateFormat类进行日期与字符串互相转换的方法,包括parse方法将字符串转换为日期,format方法将日期格式化为字符串,并给出了线程安全处理方式及常见错误示例。

日期转换用到了SimpleDateFormat类,其中有两个方法format()和parse(),下面讲一下用法及可能出现的问题。

parse方法:将字符串类型(java.lang.String)解析为日期类型(java.util.Date)
format方法:将日期类型(Date)数据格式化为字符串(String)

1.先说parse(),parse()是将字符串类型的解析为日期类型的

public static void main(String[] args) {  
        String str = "2013-01-21 15:10:20";  
        Date date = null;  
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");  
        try {  
            date = sdf.parse(str);  
        } catch (ParseException e) {  
            System.out.println(e.getMessage());  
        }  
        System.out.println(date);  
        System.out.println(date.getTime());  
    }  
2.format(),这个方法是将日期类型的数据格式化为字符串

public static void main(String[] args){
 	SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
 	String a=dateformat.format(new Date());
 	System.out.println("时间:"+a);
 
}
3.SimpleDateFormat是线程不安全的,为了安全,可以对操作进行加锁。

public static void main(String[] args) throws Exception {
		String str = "2013-01-21 15:10:20";  
        System.out.println(parseString(str));
		
	}
	
    public static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
    private static final Object LOCK = new Object();
    public static Date parseString(String datetime) throws Exception {
        synchronized (LOCK) {
            return format.parse(datetime);
        }
    }
4.有的时候会报这种错误
Exception in thread "main" java.text.ParseException: Unparseable date: "2013-01-21 15:10:20"
	at java.text.DateFormat.parse(DateFormat.java:357)
	at com.date.DateTest.parseString(DateTest.java:20)
	at com.date.DateTest.main(DateTest.java:12)
这里要注意一下,使用parse方法将String转为Date时,SimpleDateFormat定义的格式与参数String的格式必须完全一致,不然就会出现Unparseable date。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值