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)就行了。。