JAVA-API(Date、DateFormat、Calendar、System用法)

1.Object类

Object类是所有的父类,包括数组都可以使用Object类的方法。

1)String toString() 返回该对象的字符串表示。    
2)boolean equals(Object obj) 指示其他某个对象是否与此对象“相等”。

2.Date类

1)Date() 获取当前系统时间
2)Date(long date) 根据参数的毫秒获取Date日期时间对象  

3) long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

4) void setTime(long time) 根据参数毫秒修改当前Date表示时间

package com.itstudy.demo;

import java.util.Date;

public class Demo {
    public static void main(String[] args) {
        //获取当前时间
        Date date = new Date();
        System.out.println("date = " + date);
        //1341072000000(2012/07/01时间)
        Date dt = new Date(1341072000000L);
        System.out.println("dt = " + dt);
        //获取当前时间毫秒值
        long time = date.getTime();
        System.out.println("time = " + time);
    }
}

测试结果:

 

package com.itstudy.demo;

import java.util.Date;

public class Demo {
    public static void main(String[] args) {
        //1341072000000(2012/07/01时间)
        Date date = new Date();
        System.out.println(date);
        //修改当前时间
        date.setTime(1341072000000L);
        System.out.println("date = " + date);

    }
}

3.DateFormat 类(为抽象类,不能直接使用,一般用子类SimpleDateFormat) 

1)将时间格式化为日常时间字符串

Sun Jul 01 00:00:00 CST 2012 ——> 2012:07:01 00:00:00(格式不是固定的)

方法:String format(Date date) 将一个 Date 格式化为日期/时间字符串

private static void method_1() {
    //将当前时间转化为不同的格式,可以根据使用情况自行抒写格式(yyyy年MM月dd日 HH:mm:ss或yyyy-MM-dd HH:mm:ss)
    SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Date date = new Date();
    String format = df.format(date);
    System.out.println("format = " + format);
}
public class DateFormattest {
    public static void main(String[] args) throws ParseException {

        method_1();
}

测试结果:format = 2022/05/15 18:46:16(当前测试的时间)

2)将日常时间字符串解析为日期

2012:07:01 00:00:00(格式不是固定的)——>Sun Jul 01 00:00:00 CST 2012

 Date parse(String s) 从给定字符串的开始解析文本,以生成一个日期

private static void method_2() throws ParseException {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String date = "2011-09-08 21:21:21";
    Date date_new = df.parse(date);
    System.out.println("date_new = " + date_new);

}
public class DateFormattest {
    public static void main(String[] args) throws ParseException {

        method_2();
    }
}

测试结果:

练习:计算你出生到现在已经多少天?

 

package com.itstudy.demo;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class test02 {
    public static void main(String[] args) throws ParseException {
        Date date = new Date();
        //获取当前时间
        long time = date.getTime();
        //出生年月日
        String data = "2022-05-01";
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
        Date dt = sf.parse(data);
        long time_1 = dt.getTime();

        long day = (time - time_1)/24/60/60/1000;
        System.out.println("day = " + day);


    }
}

4.Calendar类

Calendar为抽象类,用getInstance()获取对象(多态)。

1)public int get(int field)  

field参数表示获取哪个字段的值, 可以使用Calender中定义的常量来表示: Calendar.YEAR : 年 Calendar.MONTH :月 Calendar.DAY_OF_MONTH:月中的日期 Calendar.HOUR:小时 Calendar.MINUTE:分钟 Calendar.SECOND:秒 Calendar.DAY_OF_WEEK:星期

package com.itstudy.demo;

import java.util.Calendar;
import java.util.Date;

public class CalendarDemo01 {
    public static void main(String[] args) {

        Calendar c = Calendar.getInstance(); //多态
        System.out.println("c = " + c);
        Date date = new Date();
        System.out.println("date = " + date);
        //年
        int year = c.get(Calendar.YEAR);
        //月份(计算机是从0月开始)
        int month = c.get(Calendar.MONTH )+1;
        //日期
        int day = c.get(Calendar.DATE);
        System.out.println("year ="+year+"\r\nmonth="+month+"\r\nday ="+day);
    }

}
测试结果:

获取星期几?

package com.itstudy.demo;

import java.util.Calendar;
import java.util.Date;

public class test01 {
    public static void main(String[] args)  {
        Date date = new Date();
        System.out.println("当前时间 " + date);
        Calendar c = Calendar.getInstance();
        int week = c.get(Calendar.DAY_OF_WEEK);
        System.out.println("week = " + getDayWeek(week));

    }
    public static String getDayWeek(int dayWeek) {
        //定义数组存储日期
        String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
        return arr[dayWeek];
    }
}

测试结果:

2)public void set(int field,int value)设置某个字段的值

      public void add(int field,int amount)为某个字段增加/减少指定的值 

package com.itstudy.demo;

import java.util.Calendar;
import java.util.Date;

public class test01 {
    public static void main(String[] args)  {
        Date date = new Date();
        System.out.println("当前时间 " + date);
        Calendar c = Calendar.getInstance();
        c.set(Calendar.YEAR,2012);
        int year = c.get(Calendar.YEAR);
        System.out.println("year修改后:" + year);
        //当前日期增加5天
        c.add(Calendar.DATE,5);
        int day = c.get(Calendar.DATE);
        System.out.println("day增加5天:" + day);

    }

}

测试结果:

 

3)setTime(Date date)把Date对象转成Calendar对象

package com.itstudy.demo;

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

public class CalendarDemo02 {
    public static void main(String[] args) throws ParseException {
        Calendar c = Calendar.getInstance();

        String time = "2000/12/22";
        SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd");
        Date date = sf.parse(time);
        c.setTime(date);

        int year = c.get(Calendar.YEAR);
        int month = c.get(Calendar.MONTH) + 1;
        int day = c.get(Calendar.DATE);

        System.out.println("year = " + year);
        System.out.println("month = " + month);
        System.out.println("day = " + day);
    }
}

测试结果:

5.System类

1)static long currentTimeMillis() 返回以毫秒为单位的当前时间(与date的long getTime()用法一致)

2) static String lineSeparator​()获取当前系统的行分隔符

3)tatic void exit(int status) 终止当前正在运行的 Java 虚拟机, 非 0 的状态码表示异常终止, 一般建议参数给0

package com.itstudy.demo;

import java.util.Date;

public class SystemDemo01 {
    public static void main(String[] args) {
        long dateTime = new Date().getTime();
        long systemTime = System.currentTimeMillis();
        if(dateTime==systemTime){
            System.out.println("时间相等=============");
        }
        //换行符
        System.out.println("你好\r\n布鲁克" );
//        System.exit(0);
        String s = System.lineSeparator();
        System.out.println("你好"+ s+"路飞");
    }
}

测试结果:

放开 System.exit(0)的结果:

4)

static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
             从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。

                参数:
                src - 源数组。
                srcPos - 源数组中的起始位置。
                dest - 目标数组。
                destPos - 目标数据中的起始位置。
                length - 要复制的数组元素的数量。

 

package com.itstudy.demo;

import java.util.Arrays;

public class test03 {
    public static void main(String[] args) {
        int[] a = {1, 2, 3, 4, 5};
        int[] b = {9, 8, 7, 6, 0};

        System.arraycopy(a,1,b,2,3);
        System.out.println(Arrays.toString(a));
        System.out.println(" ============================" );
        System.out.println(Arrays.toString(b));
    }
}

测试结果:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值