zoukankan      html  css  js  c++  java
  • Java入门——日期操作类

    Java入门——日期操作类



    Date类

      

    是一个较为简单的操作类,使用java.util.Data类的构造方法并进行输出就可以得到一个完整的日期。构造方法为:  public Data();
    

      java.util包需要导入

    package Sep26;
    
    import java.util.Date;
    
    public class DataDemo01 {
    	public static void main(String[] args) {
    		Date date=new Date();
    		System.out.println("当前日期为:"+date);
    	}
    }
    当前日期为:Mon Sep 26 10:57:57 CST 2016
    

      使用Calendar类可以得到格式丰富的日期

    Calendar类

    Calendar类是一个抽象类,可以依靠对象的多态性,通过子类对父类进行实例化操作,Calendar类的子类是GregorianCalendar类。  

    属性:

    序号 常量 类型 描述
    1 public static final int YEAR int 取得年
    2 public static final int MONTH int 取得月
    3 public static final int DAY_OF_MONTH int 取得日
    4 public static final int HOUR_OF_DAY int 取得小时,24小时制
    5

    public static final int MINUTE

    int 取得分
    6 public static final int SECOND int 取得秒
    7 public static final int MILLISEOND int 取得毫秒

    方法:

    序号 方法 类型 描述
    1 public static Calendar getInstance() 普通 根据默认的时区实例化对象
    2 public beelean after(Obeject when) 普通 判断一个日期是否在一个日期之前
    3 public beelean before(Obeject when) 普通 判断一个日期是否在一个日期之后
    4 public int get(int field) 普通 返回给定日历字段的值
    package Sep26;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    public class DateDemo02 {
    	public static void main(String[] args) {
    		Calendar calendar=null;
    		calendar=new GregorianCalendar();
    		System.out.println("年:"+calendar.get(Calendar.YEAR));
    		System.out.println("月:"+calendar.get(Calendar.MONTH)+1);//月份是从0开始算的,所以要+1
    		System.out.println("日:"+calendar.get(Calendar.DAY_OF_MONTH));
    		System.out.println("时:"+calendar.get(Calendar.HOUR_OF_DAY));
    		System.out.println("分:"+calendar.get(Calendar.MINUTE));
    		System.out.println("秒:"+calendar.get(Calendar.SECOND));
    		System.out.println("毫秒:"+calendar.get(Calendar.MILLISECOND));
    	}
    }
    年:2016
    月:81
    日:26
    时:11
    分:20
    秒:3
    毫秒:384
    

      按照以上方法获得系统的时间会比较复杂,所以Java提供了其他方便的系统时间类,以显示符合习惯的系统时间

    DateFormat类

      Format类是用于格式化数据的一个类,DateFormat类是它的一个子类:DateFormat类也是一个抽象类,但是该抽象类中提供了一个静态方法,可以直接取得本类的实例。

    package Sep26;
    
    import java.util.*;
    import java.text.*;
    
    public class DateDemo03 {
    	public static void main(String[] args) {
    		DateFormat df1=null;
    		DateFormat df2=null;
    		df1=DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale("zh","CN"));
    		df2=DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale("zh","CN"));
    		System.out.println("DATE:"+df1.format(new Date()));
    		System.out.println("DATE:"+df2.format(new Date()));
    	}
    }
    DATE:2016年9月26日
    DATE:2016年9月26日 上午11时37分59秒 CST

    SimpleDateFormat类(最常用)

      先定义出一个完整的日期转换模板,在模板中通过通过特定的日期标记:

    序号 标记 描述
    1 yyyy
    2 MM
    3 dd
    4 HH 小时
    5 mm 分钟
    6 ss
    7 SS 毫秒
         

    常用方法:

    序号 方法 类型 描述
    1 public SimpleDateFormat(String pattern) 构造 通过一个指定的模板构造对象
    2 public Date parse(String source)throws ParseException 普通 将一个包含日期的字符串变为Date类型
    3 public final String format(Date date) 普通 将一个日期类型按照指定格式转化为字符串类型
    package Sep26;
    import java.util.*;
    import java.text.*;
    public class DateDemo05 {
    	public static void main(String[] args) {
    		String strData="2016-09-26 10:11:30.123";//定义日期时间的字符串
    		String pat1="yyyy-MM-dd HH:mm:ss.SSS";//准备第一个模板,从字符串中提取日期数字
    		String pat2="yyyy年MM月dd日 HH点mm分ss秒SSS毫秒";//准备第二个模板,从字符串中提取日期数字
    		
    		//必须要根据模板实例化对象
    		SimpleDateFormat sdf1=new SimpleDateFormat(pat1);//实例化模板对象
    		SimpleDateFormat sdf2=new SimpleDateFormat(pat2);//实例化模板对象
    		Date d=null;
    		
    		try {
    			d=sdf1.parse(strData);//提取字符串中的日期
    		} catch (ParseException e) {
    			e.printStackTrace();
    		}
    		System.out.println(sdf2.format(d));
    	}
    }
    
    2016年09月26日 10点11分30秒123毫秒
    

      1:根据模板实例化对象构造函数)

      2:parse()函数提取字符串中的日期,变为Date类型

      3:format()函数格式化时间

  • 相关阅读:
    Hammer.js手势库 安卓4.0.4上的问题
    大前端晋级系列之-单一职责原则
    大前端晋级系列之-策略模式
    为什么MVC不是一种设计模式
    解读sencha touch移动框架的核心架构(二)
    解读sencha touch移动框架的核心架构(一)
    大型 JavaScript 应用架构中的模式
    jQuery2.0.3源码分析系列之(29) 窗口尺寸
    jQuery2.0.3源码分析系列(28) 元素大小
    开放封闭原则(Open Closed Principle)
  • 原文地址:https://www.cnblogs.com/BoscoGuo/p/5908573.html
Copyright © 2011-2022 走看看