有关Java获取当前时间

package com.test.datetime;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 
 * @Description 有关Java获取当前的时间
 * @author HackerD
 * @version 1.0
 * @CreateAt   2013-5-30 下午6:10:49
 */
public class TestDateTime {
    public static void main(String[] args) {
        /**
         * 在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。
         * 它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,
         * 应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。
         * Date 中的相应方法已废弃。 
         */
        Date date=new Date();
        System.out.println(date.toString());//结果:Thu May 30 18:13:24 CST 2013
        //上面的结果不是你想要的吧,借助DateFormat就可以获得你想要的各种格式
        DateFormat dateFormat=DateFormat.getDateInstance();//默认语言环境的默认格式化风格
        System.out.println(dateFormat.format(date));//结果:2013-5-30
        //格式化风格包括 FULL、LONG、MEDIUM 和 SHORT
        dateFormat=DateFormat.getDateInstance(DateFormat.FULL);
        System.out.println(dateFormat.format(date));//结果:2013年5月30日 星期四
        dateFormat=DateFormat.getDateInstance(DateFormat.LONG);
        System.out.println(dateFormat.format(date));//结果:2013年5月30日
        dateFormat=DateFormat.getDateInstance(DateFormat.MEDIUM);
        System.out.println(dateFormat.format(date));//结果:2013-5-30
        dateFormat=DateFormat.getDateInstance(DateFormat.SHORT);
        System.out.println(dateFormat.format(date));//结果:13-5-30
        
        //获取日期/时间格式器
        dateFormat=DateFormat.getDateTimeInstance();
        System.out.println(dateFormat.format(date));//结果:2013-5-30 18:36:51
        dateFormat=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
        System.out.println(dateFormat.format(date));//结果:2013年5月30日 星期四 下午06时38分36秒 CST
        dateFormat=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
        System.out.println(dateFormat.format(date));//结果:2013年5月30日 下午06时39分07秒
        dateFormat=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
        System.out.println(dateFormat.format(date));//结果:2013-5-30 18:39:25
        dateFormat=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);
        System.out.println(dateFormat.format(date));//结果:13-5-30 下午6:39
        
        //获取为日期和时间使用 SHORT 风格的默认日期/时间格式器。
        dateFormat=DateFormat.getInstance();
        System.out.println(dateFormat.format(date));//结果:13-5-30 下午6:41
        
        //获取时间格式器,该格式器具有默认语言环境的默认格式化风格
        dateFormat=DateFormat.getTimeInstance();
        System.out.println(dateFormat.format(date));//结果:18:42:10
        dateFormat=DateFormat.getTimeInstance(DateFormat.FULL);
        System.out.println(dateFormat.format(date));//结果:下午06时42分41秒 CST
        
        //DateFormat的子类SimpleDateFormat,时间格式你说了算。。
        dateFormat=new SimpleDateFormat("yyyy/MM/dd");
        System.out.println(dateFormat.format(date));//结果:2013/05/30
        dateFormat=new SimpleDateFormat("MM/dd/yyyy");
        System.out.println(dateFormat.format(date));//结果:05/30/2013
        dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateFormat.format(date));//结果:2013-05-30 19:27:29
        dateFormat=new SimpleDateFormat("h:mm a");
        System.out.println(dateFormat.format(date));//结果:7:29 下午
        //更多格式 参考API
        
        /**
         * Calendar类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 
         * 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
         */
          Calendar ca = Calendar.getInstance();
          int year = ca.get(Calendar.YEAR);//获取年份
          int month=ca.get(Calendar.MONTH);//获取月份 从0开始,即1月份为0以此类推。
          int day=ca.get(Calendar.DATE);//获取日
          int hour=ca.get(Calendar.HOUR);//小时
          int minute=ca.get(Calendar.MINUTE);//
          int second=ca.get(Calendar.SECOND);//
          int dayOfWeek = ca.get(Calendar.DAY_OF_WEEK);
          int weekOfYear = ca.get(Calendar.WEEK_OF_YEAR);
          int weekOfMonth=ca.get(Calendar.WEEK_OF_MONTH);
          
          
          System.out.println("用Calendar.getInstance().getTime()方式显示时间: " + ca.getTime());
          System.out.println("用Calendar获得日期是:" + year +"年"+ month +"月"+ day + "日");
          System.out.println("用Calendar获得时间是:" + hour +"时"+ minute +"分"+ second +"秒");
          System.out.println("今天是一星期中的第"+dayOfWeek+"天");//显示今天是一周的第几天(星期天是一星期中的第一天)
          System.out.println("今天是一年中的第"+weekOfYear+"个星期");
          System.out.println("今天是当前月的第"+weekOfMonth+"个星期");
          
          /**
           * 以上的运行结果:
           * 用Calendar.getInstance().getTime()方式显示时间: Thu May 30 19:32:30 CST 2013
           * 用Calendar获得日期是:2013年4月30日
           * 用Calendar获得时间是:7时32分30秒
           * 今天是一星期中的第 5天
           * 今天是一年中的第22个星期
           * 今天是当前月的第5个星期
           */
    }
}
posted @ 2013-05-30 19:47  HackerD  阅读(209)  评论(0编辑  收藏  举报