您的位置:首页 > 其它

时间格式及关于时间的操作(SimpleDateFormat)

2011-09-15 15:06 567 查看
用SimpleDateFormat显示24小时制时间:
package com.autonavi.test;

import java.util.Date;
import java.text.SimpleDateFormat;;
/**
* 24/12小时制时间显示:
* @author dashan.yin
*
*/
public class Datetime {

public static void main(String args[]){
Date current = new Date();
//HH表示24小时时间制
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//hh表示12小时时间制
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String c = sdf.format(current);
System.out.println(c);
}
}


 
SimpleDateFormat的用法

//SimpleDateFormat中的parse方法可以

把String型的字符串转换成特定格式的date类型

import java.text.*;

import java.util.*;

public class TestDate {

    public static void main(String[] args) {

        String dStr = "2001.12.12-08.23.21";

        Date d = null;

        SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss");

        try {

            d = sdf.parse(dStr);

        } catch (ParseException pe) {

            System.out.println(pe.getMessage());

        }

        System.out.println(d);

        System.out.println(d.getTime());

    }

}

 

 

//下面的format方法可以将date型的数据转换成特定的String型字符串

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 测试结果:

2004年12月16日 17时38分26秒 星期四

04年12月16日 17时38分

17 38 26 0965

04/12/16 17:38

 

 由long类型的时间得到指定格式的时间

private String getDateFormat(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
String afterTransfor = sdf.format(time);
return afterTransfor;
}


 由指定格式的时间类型转化成long类型

/**
* 格式化时间
* MM/dd/yyyy HH:mm:ss转成long类型
* @param time
* @return
*/
private long getDateFormat(String time) {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
Date date = new Date();
try {
date = sdf.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return date.getTime();
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息