java 日期格式详解

本文介绍了如何使用Java进行数字和日期的格式化操作,包括定制化的数字格式展示、默认及定制化的日期格式输出等。通过具体示例展示了不同格式模式下数值与日期的呈现效果。

getCurrencyInstance();
System.out.println(\"Currency \" + p + \" is displayed as \" + nfCurrency.format(c));

//这里没有涉及相应的parse方法
}

public static void customNumberFormat() {
double x = 1000.0 / 3;
System.out.println(\"default output is \" + x);
patternPrint(\"###,###.##\", x);
patternPrint(\"####.##\", x);
patternPrint(\"####.00\", x);
patternPrint(\"####.0#\", x); [Page]
patternPrint(\"00000.##\", x);
patternPrint(\"$###,###.##\", x);
patternPrint(\"0.###E0\", x);
patternPrint(\"00.##%\", x);

double y = 23.0012;
System.out.println(\"default output is \" + y);
patternPrint(\"###,###.##\", y);
patternPrint(\"####.##\", y);
patternPrint(\"####.00\", y);
patternPrint(\"####.0#\", y);
patternPrint(\"00000.##\", y);
patternPrint(\"$###,###.##\", y);
patternPrint(\"0.###E0\", y);
patternPrint(\"00.##%\", y);

#p# #e#


}

public static void patternPrint(String pattern, double x) {
DecimalFormat df = new DecimalFormat(pattern);
System.out.println(\"output for pattern \" + pattern + \" is \" + df.format(x));
}

public static void defaultDateFormat(){
Date date = new Date();

System.out.println(\"simple date \" + date.toLocaleString());

DateFormat df = DateFormat.getDateTimeInstance();
System.out.println(df.format(date));

DateFormat dfLong = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
System.out.println(dfLong.format(date));

DateFormat dfMedium = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, [Page]
DateFormat.MEDIUM);
System.out.println(dfMedium.format(date));

DateFormat dfShort = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
System.out.println(dfShort.format(date));
}

public static void customDateFormat() {
Date date = new Date();
patternPrint(\"yyyy.MM.dd HH:mm:ss z\", date); //两个MM, dd会导致补零
patternPrint(\"yy年M月d日 HH时mm分\", date); //两个yy就显示为两位年份
patternPrint(\"EEE, MMM d, ’’yy\", date);
patternPrint(\"h:mm a\", date);
patternPrint(\"hh ’o’’clock’ a, zzzz\", date);
patternPrint(\"yyyyy.MMMMM.dd GGG hh:mm aaa\", date);
patternPrint(\"EEE, d MMM yyyy HH:mm:ss Z\", date);
patternPrint(\"yyMMddHHmmssZ\", date);
}

public static void patternPrint(String pattern, Date date){
SimpleDateFormat df = new SimpleDateFormat(pattern);
System.out.println(df.format(date));
}
}

输出:
Integer 123456 is displayed as 123,456
Double 882323.23523 is displayed as 882,323.235
Integer 123456 is displayed as 123,456
Double 882323.23523 is displayed as 882,323.235
Percent 0.528 is displayed as 53%
Currency 0.528 is displayed as ¥52.83

default output is 333.3333333333333
output for pattern ###,###.## is 333.33
output for pattern ####.## is 333.33 [Page]
output for pattern ####.00 is 333.33
output for pattern ####.0# is 333.33
output for pattern 00000.## is 00333.33
output for pattern $###,###.## is $333.33
output for pattern 0.###E0 is 3.333E2
output for pattern 00.##% is 33333.33%
default output is 23.0012
output for pattern ###,###.## is 23
output for pattern ####.## is 23
output for pattern ####.00 is 23.00

#p# #e#

output for pattern ####.0# is 23.0
output for pattern 00000.## is 00023
output for pattern $###,###.## is $23
output for pattern 0.###E0 is 2.3E1
output for pattern 00.##% is 2300.12%

simple date 2004-8-7 8:16:14
2004-8-7 8:16:14
2004年8月7日 上午08时16分14秒
2004-8-7 8:16:14
04-8-7 上午8:16

2004.08.07 08:16:14 GMT+08:00
04年8月7日 08时16分
星期六, 八月 7, ’04
8:16 上午
08 o’clock 上午, GMT+08:00
02004.八月.07 公元 08:16 上午
星期六, 7 八月 2004 08:16:14 +0800
040807081614+0800

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值