加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

#java#SimpleDateFormat 时间格式

(2014-09-17 11:07:56)
标签:

杂谈

分类: 计算机相关

日期的格式化器普用的是SimpleDateFormat,它继承了了DateFormat。SimpleDateFormat为用户提供了更多的控制功能,更灵活。

但是有两点需要注意:使用SimpleDateFormat解析字符串日期的时候要放入一个try代码块,以防遇到特殊的日期格式抛出异常;获取SimpleDateFormat实例的时候最好使用DateFormat的getTimeInstance、getDateInstance 或getDateTimeInstance类方法来获取。因为new一个SimpleDateFormat不适用于所有的地区,在国际化的时候会遇到问题,当然这个问题很难遇到了,但是还是小心为好。

总结一下SimpleDateFormat的用法其实很简单:建立格式器(SimpleDateFormat)DateFormat.getDateInstance()--->添加格式applyPattern(pattern)--->格式化、解析日期format(Date)、parse(String)。

package com.date_test; 

import java.text.DateFormat; 

import java.text.ParseException; 

import java.text.SimpleDateFormat;

import java.util.Date; 

public class DateFormat_test { 

public static void main (String agrs[]) {

 //获取当前时间 

Date dNow = new Date(); 

//建立日期格式化器,这里是获取的默认语言环境、默认格式的格式器 

SimpleDateFormat df = (SimpleDateFormat)DateFormat.getDateInstance();

 //最普遍的格式 

df.applyPattern("yyyy-MM-dd HH:mm:ss"); 

System.out.println("最普遍的格式: " df.format(dNow));

 //年份俭省格式 

df.applyPattern("yy-MM-dd HH:mm:ss"); 

System.out.println("年份俭省格式: " df.format(dNow)); 

//省略年份和具体时间格式 df.applyPattern("MM-dd");

 System.out.println("省略年份和具体时间格式: " df.format(dNow)); 

//采用12小时制格式 

df.applyPattern("yyyy-MM-dd hh:mm:ss"); 

System.out.println("采用12小时制格式: " df.format(dNow)); 

//省去个位数时前面的0格式 

df.applyPattern("yyyy-m-dd h:mm:ss"); 

System.out.println("省去个位数时前面的0格式: " df.format(dNow)); 

//更为自由的格式,嵌入字符、换行等,字符要用''包含 df.applyPattern("yyyy'年'M'月'd'日'\nh'时'm'分'mm'秒'"); 

System.out.println("更为自由的格式,嵌入字符、换行等:\n" df.format(dNow) "\n\n\n"); 

String dTest = "2012-09-10"; 

//这里的异常处理是必须、必要的,防止出现特殊格式的字符串日期 

try { 

df.applyPattern("yyyy-MM-dd"); 

Date ddTest = df.parse(dTest); 

//这里输出的日期仍然是默认格式,而非之前设定的格式 

System.out.println(ddTest); 

} catch (ParseException e) { 

// TODO Auto-generated catch block

 e.printStackTrace(); 

} } }

package com.date_test;

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

public class DateFormat_test {

public static void main (String agrs[])

{

//获取当前时间

Date dNow = new Date();

//建立日期格式化器,这里是获取的默认语言环境、默认格式的格式器

SimpleDateFormat df = (SimpleDateFormat)DateFormat.getDateInstance();

//最普遍的格式

df.applyPattern("yyyy-MM-dd HH:mm:ss");

System.out.println("最普遍的格式: " df.format(dNow));

//年份俭省格式

df.applyPattern("yy-MM-dd HH:mm:ss");

System.out.println("年份俭省格式: " df.format(dNow));

//省略年份和具体时间格式

df.applyPattern("MM-dd");

System.out.println("省略年份和具体时间格式: " df.format(dNow));

//采用12小时制格式

df.applyPattern("yyyy-MM-dd hh:mm:ss");

System.out.println("采用12小时制格式: " df.format(dNow));

//省去个位数时前面的0格式

df.applyPattern("yyyy-m-dd h:mm:ss");

System.out.println("省去个位数时前面的0格式: " df.format(dNow));

//更为自由的格式,嵌入字符、换行等,字符要用''包含

df.applyPattern("yyyy'年'M'月'd'日'\nh'时'm'分'mm'秒'");

System.out.println("更为自由的格式,嵌入字符、换行等:\n"

df.format(dNow) "\n\n\n");

String dTest = "2012-09-10";

//这里的异常处理是必须、必要的,防止出现特殊格式的字符串日期

try

{

df.applyPattern("yyyy-MM-dd");

Date ddTest = df.parse(dTest);

//这里输出的日期仍然是默认格式,而非之前设定的格式

System.out.println(ddTest);

}

catch (ParseException e)

{

// TODO Auto-generated catch block

e.printStackTrace();}}

}

上述程序运行结果如下:

#java#SimpleDateFormat <wbr>时间格式 运行结果

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有