0
点赞
收藏
分享

微信扫一扫

java里将字符串转换成日期,这么麻烦吗

Code highlighting produced by Actipro CodeHighlighter (freeware) 


http://www.CodeHighlighter.com/ 


import java.text.ParseException; 


import java.text.SimpleDateFormat; 


import java.util.Calendar; 


import java.util.Date; 



public class DateFormat { 



 public static void main(String[] args){ 


 String strDate="2008-8-25";//假如这从数据库取出来的,他就是个字符串 


 SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd"); //我必须现在这儿指定一下格式 


 SimpleDateFormat format2=new SimpleDateFormat("yyyy年-MM月-dd日");再在这里指定一下显示给用户的样式 




 try { 


 System.out.println(format2.format(format1.parse(strDate))); 


 } catch (ParseException e) { 


 // TODO Auto-generated catch block 


 e.printStackTrace(); 


 } 


 }




从数据库取出来的日期型字符串,标准肯定就是yyyy-MM-dd这样格式,我将字符串转换成日期的时候干嘛还要指定yyyy-MM-dd呢
有没有比这种更简便的方法
网友回复:用字符串取直接扔。。。
网友回复:啥意思。。
网友回复:怎么写 你写一下
网友回复:你是什么数据库
网友回复:sql2005
网友回复:引用 5 楼 kroda 的回复:
sql2005

你取出日期后,打印下看下什么格式。
网友回复: public static Date getDateFromString(String date, String fmt)

throws Exception { 

if (date == null ¦ ¦ date.trim().length() == 0) 

return null; 

SimpleDateFormat sdf = fmt == null ? new SimpleDateFormat( 

DEFAULT_DATE_FORMAT) : new SimpleDateFormat(fmt); 

return sdf.parse(date); 

}



参数date为:2008-08-08 的话 fmt为:YYYY-MM-DD
你试下
网友回复:我意思 就是把这样的"2008-8-25"字符串转成日期格式 怎么办

SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd"); 有没有更简便的做法
网友回复:我一直都是调用刚刚我发的那个类转换,调用一个类也不是很麻烦啊
网友回复:引用 7 楼 liaoyi_ipanel 的回复:

public static Date getDateFromString(String date, String fmt) 

throws Exception { 

if (date == null | | date.trim().length() == 0) 

return null; 

SimpleDateFormat sdf = null ? new SimpleDateFormat( //应该这么写吧 

DEFAULT_DATE_FORMAT) : new SimpleDateFormat(fmt); 

return sdf.parse(date); 

}



参数date为:2008-08-08 的话 fmt为:YYYY-MM-DD
你试下

网友回复:这样了还嫌麻烦啊...
这是我自己常用的一些方法


Java code 



Code highlighting produced by Actipro CodeHighlighter (freeware) 


http://www.CodeHighlighter.com/ 



 public static long string2time(String date, String format) { 


 if (date == null) { 


 return 0; 


 } 


 SimpleDateFormat dateFormat = new SimpleDateFormat(format); 


 Date dt = null; 



 try { 


 dt = dateFormat.parse(date); 


 } catch (ParseException excpt) { 


 return 0; 


 } 


 return date2time(dt); 


 } 



 public static String time2string(long time, String format) { 


 if (time == 0) 


 return ""; 


 Date date = new Date(time); 


 SimpleDateFormat dateFormat = new SimpleDateFormat(format); 


 return dateFormat.format(date); 


 } 



 public static Date string2date(String date, String format) { 


 if (date == null) { 


 return null; 


 } 


 SimpleDateFormat dateFormat = new SimpleDateFormat(format); 


 Date dt = null; 



 try { 


 dt = dateFormat.parse(date); 


 } catch (ParseException excpt) { 


 return null; 


 } 


 return dt; 


 } 



 public static String date2string(Date date, String format) { 


 SimpleDateFormat dateFormat = new SimpleDateFormat(format); 


 return dateFormat.format(date); 


 } 



 public static long date2time(Date date) { 


 Calendar cld = Calendar.getInstance(); 


 cld.setTime(date); 


 return cld.getTimeInMillis(); 


 }




网友回复:引用 9 楼 liaoyi_ipanel 的回复:
我一直都是调用刚刚我发的那个类转换,调用一个类也不是很麻烦啊

DEFAULT_DATE_FORMAT

这个值不认那。。
网友回复:ls正解。
网友回复:sql server的日期打印出来应该是这样吧2008-08-21 17:37:08.177 、
如果就提论题,
得到后 date。 SimpleDateFormat f=new SimpleDateFormat("yyyy年-MM月-dd日"); 直接 f.format(date)就可以得到你想要的格式。
怎么还转换俩次。

网友回复:感谢感谢,结贴了
网友回复:引用 14 楼 zhangkai08111 的回复:
sql server的日期打印出来应该是这样吧2008-08-21 17:37:08.177 、
如果就提论题,
得到后 date。 SimpleDateFormat f=new SimpleDateFormat("yyyy年-MM月-dd日"); 直接 f.format(date)就可以得到你想要的格式。
怎么还转换俩次。

你这么写肯定错 你最好在环境下试试 SimpleDateFormat构造函数必须和你要格式化的日期字符串格式一样
网友回复:引用 16 楼 kroda 的回复:
引用 14 楼 zhangkai08111 的回复:
sql server的日期打印出来应该是这样吧2008-08-21 17:37:08.177 、
如果就提论题,
得到后 date。 SimpleDateFormat f=new SimpleDateFormat("yyyy年-MM月-dd日"); 直接 f.format(date)就可以得到你想要的格式。
怎么还转换俩次。

你这么写肯定错 你最好在环境下试试 SimpleDateFormat构造函数必须和你要格式化的日期字符串格式一样

兄弟,我试了。。肯定没问题。
网友回复:关键你这步 数据库里的是字符串 你怎么转成date类型的?
网友回复:在C#里 直接一句Convert.ToDatetime(String)就行了。。

举报

相关推荐

0 条评论