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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值