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
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
package demo1;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import ......
61、servlet的生命周期
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
62、如何现实servlet的单线程模式
......
1、byte通常用来进行位运算,位宽度窄,一般不用来计算
2、关键字都是小写的,在eclipse中显示为红色。
3、变量给了缺省的初始值,C语言没给,只给分配了空间,里面的数不确定
4、char的缺省值是ASCII码中第1个
5、运行效率:i++>i+=1>i=i+1
6、布尔值不能进行大小比较,只能进行==比较
7、先算&&再算| ......