java,SimpleDateFormat的format()方法?

根据java的jdk1.5中的描述,只有一个format()方法,就是:format(Datedate,StringBuffertoAppendTo,FieldPosit... 根据java的jdk1.5中的描述,只有一个format()方法,就是:format(Date date, StringBuffer toAppendTo, FieldPosition pos) ,但是我看见一个程序只有一个参数也可以,new SimpleDateFormat("yyyy-MM-dd").format(hireDate),怎么回事? 展开
 我来答
pieryon
2015-06-04 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166874
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
java中SimpleDateFormat的format()方法的使用详解:
public class SimpleDateFormat extends DateFormat
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat 中getTimeInstance、 getDateInstance 或 getDateTimeInstance 创建一个日期-时间格式化程序。 每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。 可以根据需要用 applyPattern 方法修改格式化方式。

SimpleDateFormat函数的继承关系:
java.lang.Object
|
+----java.text.Format
|
+----java.text.DateFormat
|
+----java.text.SimpleDateFormat
举例如下:
import java.text.*;
import java.util.Date;
/**
SimpleDateFormat函数语法:

G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
*/
public class FormatDateTime {
public static void main(String[] args) {
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
SimpleDateFormat myFmt4=new SimpleDateFormat(
"一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
Date now=new Date();
System.out.println(myFmt.format(now));
System.out.println(myFmt1.format(now));
System.out.println(myFmt2.format(now));
System.out.println(myFmt3.format(now));
System.out.println(myFmt4.format(now));
System.out.println(now.toGMTString());
System.out.println(now.toLocaleString());
System.out.println(now.toString());
}

}

效果:
2004年12月16日 17时24分27秒
04/12/16 17:24
2004-12-16 17:24:27
2004年12月16日 17时24分27秒 星期四
一年中的第 351 天 一年中第51个星期 一月中第3个星期 在一天中17时 CST时区
16 Dec 2004 09:24:27 GMT
2004-12-16 17:24:27
Thu Dec 16 17:24:27 CST 2004

下面是个JavaBean:
public class FormatDateTime {

public static String toLongDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
return myFmt.format(dt);
}

public static String toShortDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy年MM月dd日 HH时mm分");
return myFmt.format(dt);
}

public static String toLongTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("HH mm ss SSSS");
return myFmt.format(dt);
}
public static String toShortTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");
return myFmt.format(dt);
}

public static void main(String[] args) {
Date now=new Date();
System.out.println(FormatDateTime.toLongDateString(now));
System.out.println(FormatDateTime.toShortDateString(now));
System.out.println(FormatDateTime.toLongTimeString(now));
System.out.println(FormatDateTime.toShortTimeString(now));
}

}
调用的main 测试结果:
2015年6月4日 12时38分26秒 星期四
04年12月16日 17时38分
17 38 26 0965
04/12/16 17:38
揭扰龙晨Nb
2010-11-15 · TA获得超过484个赞
知道小有建树答主
回答量:1294
采纳率:0%
帮助的人:657万
展开全部
将日期时间格式化(yyyy-MM-dd就是年月日的格式),hireDate我没用过,应该是一种格式风格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ヤマザキ266e77
2010-11-15 · TA获得超过2052个赞
知道小有建树答主
回答量:721
采纳率:0%
帮助的人:995万
展开全部
父类DateFormat包含这个方法,子类没有的方法去父类查找。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ef10e91
2010-11-15 · TA获得超过1822个赞
知道大有可为答主
回答量:1223
采纳率:50%
帮助的人:1306万
展开全部
继续往下看……
下边还有……
从类 java.text.Format 继承的方法
format, parseObject

就是这个了
format
public final String format(Object obj)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友06023633a
2010-11-15 · TA获得超过205个赞
知道答主
回答量:316
采纳率:0%
帮助的人:80.6万
展开全部
从类 java.text.DateFormat 继承的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式