快捷搜索:  汽车  科技

java 日期操作(JavaAPI的日期处理详解)

java 日期操作(JavaAPI的日期处理详解)Date date = new Date(); public static void main(String[] args) {  long getTime();返回date对象对应的毫秒数  void setTime();根据指定的毫秒数,修改时间public class Test{

Date 类

构造方法:

  Date(); 获取当前系统时间

  Date(long date); 获取指定参数时间,从基准时间即1970-1-1 00:00:00 GMT以来的毫秒数

常用成员方法:

  long getTime();返回date对象对应的毫秒数

  void setTime();根据指定的毫秒数,修改时间

public class Test{

public static void main(String[] args) {

Date date = new Date();

System.out.println("日期:" date);

}

}

DateFormat import java.text [抽象类]

不能创建对象,因此由其子类来创建对象(SimpleDateFormat 构造方法 SimpleDateFormat(String patten)[给定的模式和默认语言环境])

解析:把字符串类型的时间->Date类型的:1970年1月1日00:00 00-》>Date

格式化:Date类型的时间->字符串类型的时间

成员方法:

  • Sting | ->Format(Date date):将Date格式化为字符串类型

java 日期操作(JavaAPI的日期处理详解)(1)

  • Date | ->Date parse(String source);将字符串类型解析为Date日期类型(转换时,该String要符合指定规则,否则不能转换)

  • java 日期操作(JavaAPI的日期处理详解)(2)

    DateFormat作用:即可以将一个Date对象转换为一个符合指定格式的字符串,也可以将一个符合指定格式的字符串转换为一个Date对象

    指定格式---->即SimpleDateFormat(String pattern)构造方法的形参;

    java 日期操作(JavaAPI的日期处理详解)(3)

    public abstract class DateFormat extends Format

    /*DateFormat类是一个抽象类,其本身内部提供了可以直接为其实例化的操作。

    得到日期的DateFormat对象:

    public static final DateFormat getDateInstance()

    得到日期时间的DateFormat对象:

    public static final DateFormat getDateTimeInstance()

    直接使用DateFormat类完成Date类的转换功能:*/

    public final String format(Date date)

    import java.text.DateFormat ;

    import java.util.Date ;

    public class Test{

    public static void main(String args[]){

    DateFormat df1 = null ; // 声明一个DateFormat

    DateFormat df2 = null ; // 声明一个DateFormat

    df1 = DateFormat.getDateInstance() ; // 得到日期的DateFormat对象

    df2 = DateFormat.getDateTimeInstance() ; // 得到日期时间的DateFormat对象

    System.out.println("DATE:" df1.format(new Date())) ; // 按照日期格式化

    System.out.println("DATETIME:" df2.format(new Date())) ; // 按照日期时间格式化

    }

    };


    通过此类可以直接将Date类的显示进行合理的格式化操作。此时采用的是默认的格式化操作,也可以通过Locale对象指定要显示的区域。如指定的区域是中国:

    import java.text.DateFormat ;

    import java.util.Date ;

    import java.util.Locale ;

    public class Test{

    public static void main(String args[]){

    DateFormat df1 = null ; // 声明一个DateFormat

    DateFormat df2 = null ; // 声明一个DateFormat

    df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD new Locale("zh" "CN")) ; // 得到日期的DateFormat对象

    df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD DateFormat.ERA_FIELD new Locale("zh" "CN")) ; // 得到日期时间的DateFormat对象

    System.out.println("DATE:" df1.format(new Date())) ; // 按照日期格式化

    System.out.println("DATETIME:" df2.format(new Date())) ; // 按照日期时间格式化

    }

    };

      SimpleDateFormat类代码:此类的功能是完成日期的显示格式化的,例如,在开发中,可能会将一种日期格式变为另一种日期格式,如下所示:

    import java.util.* ;

    public class Test{

    public static void main(String args[]){

    String strDate = "2008-10-19 10:11:30.345" ;

    // 准备第一个模板,从字符串中提取出日期数字

    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(strDate) ; // 将给定的字符串中的日期提取出来

    }catch(Exception e){ // 如果提供的字符串格式有错误,则进行异常处理

    e.printStackTrace() ; // 打印异常信息

    }

    System.out.println(sdf2.format(d)) ; // 将日期变为新的格式

    }

    3.Calendar类 --表示日历的类

     里面的方法基本 都是静态方法,Calendar 又是抽象类,不能new,因此用静态方法创建对象

    创建对象:

      Calendar c = Calendar.getInstance(); //返回当前日历对象

    或者用子类创建对象:

      Calendar c = new GregorianCalendar();

    成员方法:

      1.abstract void add(int field int amout);根据字段名称和偏移量,修改时间

      field字段值:Calendar.YEAR amout 偏移量

      2.int get (int field):返回日历字段的值,

      3.Date getTime():返回一个表示此Calendar时间值的Date对象

      4.void set(int field int value):将给定的日历字段值设置为给定值

      5.void set(int year int month int date int hourOfDay int MINUTE int SECOND)

      6.void setTime(Date date):

      在Calendar 类中,月份的表示以0-11 表示1-12月

    西方的周日,中国的周一

    public class Test{

    public static void main(String args[]){

    Calendar calendar = new GregorianCalendar(); // 实例化Calendar类对象

    System.out.println("YEAR: " calendar.get(Calendar.YEAR));

    System.out.println("MONTH: " (calendar.get(Calendar.MONTH) 1));

    System.out.println("DAY_OF_MONTH: " calendar.get(Calendar.DAY_OF_MONTH));

    System.out.println("HOUR_OF_DAY: " calendar.get(Calendar.HOUR_OF_DAY));

    System.out.println("MINUTE: " calendar.get(Calendar.MINUTE));

    System.out.println("SECOND: " calendar.get(Calendar.SECOND));

    System.out.println("MILLISECOND: " calendar.get(Calendar.MILLISECOND));

    }

    };

    //注:在取得月份的时候要特别注意,需要加1。

    // 如果按照此方法取得,则很麻烦,最好的做法是将Date进行一些相关的格式化操作。

    大家如果需要更多的相关学习资料,我有一个专门的交流学习群:622497727 备注 头条就可以了!!!

    猜您喜欢: