java格式化输出日期_java实战技巧 关于格式化输出日期

java实战技巧--关于格式化输出日期

使用SimpleDateFormat 格式化输出日期与

使用Calendar 格式化输出日期

在耗时上的对比如下

测试软件平台

win 7,CUP T4200,内存 2G,

eclipse 3.5,

android sdk1.5

测试硬件平台

T Mobile G1,

SimpleDateFormat的输出要比Calendar 慢2倍以上

SimpleDateFormat的格式有限制

比如想输出 13点45分 表示成13H45M 就很难表示了

定义成HHHMMM输出013045了

Calendar 的不便之处是 如果我想输出比较好的格式

比如 9点08分

那么0占位就需要自己写一下逻辑啦!

/**

* 通过milliseconds得到一个格式为"yyyy-mm-dd"的日期,比如2009-10-29

* SimpleDateFormat方式模拟器耗时30毫秒,真机13毫秒

* Calendar方式模拟器耗时12毫秒,真机2毫秒

*/

public static String getDate(String milliseconds)

{

long mil = Long.parseLong(milliseconds);

return getDate(mil);

}

public static String getDate(long milliseconds)

{

Date date = new Date(milliseconds);

//SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日");

//return formatter.format(date);

Calendar c = Calendar.getInstance();

c.setTime(date);

return c.get(c.YEAR)+"-"+(c.get(c.MONTH)+1)+"-"+c.get(c.DAY_OF_MONTH);//月份是从0开始的,要+1

}

/**

* 通过milliseconds得到一个格式为"HH:mm"的时间,比如15:25

* SimpleDateFormat方式耗时40毫秒,真机16毫秒

* Calendar方式模拟器耗时12毫秒,真机4毫秒

*/

public static String getTime(String milliseconds)

{

long mil = Long.parseLong(milliseconds);

return getTime(mil);

}

public static String getTime(long milliseconds)

{

Date date = new Date(milliseconds);

//SimpleDateFormat formatter = new SimpleDateFormat("HH:mm");//H为占位符如多了就会添0补位

//return formatter.format(date);

Calendar c = Calendar.getInstance();

c.setTime(date);

return c.get(c.HOUR_OF_DAY)+":"+c.get(c.MINUTE);

}

/**

* 得到时间,如果是今天的时间,就显示TIME,如果是过去的时间就显示DATE

* SimpleDateFormat方式耗时70毫秒,真机35毫秒

* Calendar方式模拟器耗时20毫秒,真机7毫秒

*/

public static Strin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值