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

用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();
	}


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值