JAVA字符串转日期或日期转字符串
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JAVA字符串转日期或日期转字符串(转)
2010-08-16 16:34:03| 分类: |字号订阅
JAVA字符串转日期或日期转字符串(转)
文章中,用的API是SimpleDateFormat,它是属于,所以请记得import进
来!
用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss
就不需要我再解释了吧!
PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小
时制,而hh是12小时制。
1.字符串转日期
2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );
2.日期转字符串
假如把今天的日期转成字符串可用 String str = sdf.format(new Date());
这个字符串内容的格式类似2008-07-10 19:20:00。
透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008
年7月10日,我们可以这么写:
SimpleDateFormat sdf = new SimpleDateFormat( " yyyy 年MM月dd日 " );
String str = sdf.format(new Date());
str便会依照我们设定的格式输出了。
附编写好的一个简单实例:
import ;
import ;
import ;
public class ConvertDemo {
/**
* 日期转换成字符串
* @param date
* @return str
*/
public static String DateToStr(Date date) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = format.format(date);
return str;
}
/**
* 字符串转换成日期
* @param str
* @return date
*/
public static Date StrToDate(String str) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static void main(String[] args) {
Date date = new Date(); "日期转字符串:" + ConvertDemo.DateToStr(date));
"字符串转日期:" +
ConvertDemo.StrToDate(ConvertDemo.DateToStr(date)));
}
}
*************************************** 下面的都是例
子 ******************************************************* Java中日期格式转换
/**
* 字符串转换为
* 支持格式为 G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/
public static Date stringToDate(String time){
SimpleDateFormat formatter;
int tempPos=time.indexOf("AD") ;
time=time.trim() ;
formatter = new SimpleDateFormat (" G 'at' hh:mm:ss z");
if(tempPos>-1){
time=time.substring(0,tempPos)+
"公元
"+time.substring(tempPos+"AD".length());//china
formatter = new SimpleDateFormat (" G 'at' hh:mm:ss z");
}
tempPos=time.indexOf("-");
if(tempPos>-1&&(time.indexOf(" ")<0)){
formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ");
}
else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");
}
else if((time.indexOf("-")>-1) &&(time.indexOf("
")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
}
else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1)
||(time.indexOf("pm")>-1)){