Java的时间日期类&&system类

Date类

Date类的带参数的构造方法:
Date (long date):传递毫秒值,把毫秒转换为Date日期。
Date类的无参数的构造方法:
Date ():获取的就是当前系统的日期和时间。
Date类的成员方法:
long getTime()把日期转换为毫秒=>相当于【System.currentTimeMillis()】

package cn.itcast.day02.demo02;
import com.sun.jdi.PathSearchingVirtualMachine;
import java.util.Date;
public class DateMain {
    public static void main(String[] args) {
        method1();
        method2();
        method3();
    }
//Date的无参构造
    public static void method1() {
        Date date =new Date();
        System.out.println("Date的无参构造"+date);//Wed Nov 04 14:58:36 CST 2020
    }
    //Date的有参构造
    public static void method2() {
        Date date1 =new Date(0L);
        System.out.println(date1);//Thu Jan 01 08:00:00 CST 1970
        Date date2 =new Date(324824982);
        System.out.println(date2);//Mon Jan 05 02:13:44 CST 1970

    }
    public static void method3() {
        Date date1 =new Date();
        long time= date1.getTime();

        System.out.println(time);//1604477237298
        System.out.println(System.currentTimeMillis());//1604477237298
        
    }
}
Date的无参构造Wed Nov 04 16:08:28 CST 2020
Thu Jan 01 08:00:00 CST 1970
Mon Jan 05 02:13:44 CST 1970
1604477308535
1604477308535

DateFormat类

将打印的英文时间转化为文本类。
Date<=>String之间的转换
java.text.Date Format:是日期/时间格式化子类的抽象类
作用:
格式化(日期->文本)、解析(文本->日期)
成员方法:
String format(Date date)按照指定格式,将Date日期格式化为符合模式的字符串
Date parse(String source)把符合模式的字符串解析为Date日期
DateFormat类是一个抽象类,无法直接创建对象使用,可以使用DateFormat的子类。
SimpleDateFormate(String pattern) 用给定的模式和默认语言环境的日期格式符号构造。
在这里插入图片描述
在这里插入图片描述

package cn.itcast.day02.demo02;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Dateformat {
    public static void main(String[] args) {
        //textmethod();
        datemethod();
    }
    public static void textmethod() {
        //创建一个对象,构造方法中指定的模式
        SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        Date date=new Date();
        //调用format方法,将日期格式文本化
        String text=sim.format(date);
        System.out.println(date);//Wed Nov 04 17:11:22 CST 2020
        System.out.println(text);//2020-11-04 17:11:22

    }
    public static void datemethod() throws ParseException {
        //创建一个对象,构造方法中指定的模式
        SimpleDateFormat simp=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        //调用parse方法,将日期格式文本化
       Date date=simp.parse("2020年11月04日 17时11分22秒");
        System.out.println(date);//Wed Nov 04 17:11:22 CST 2020

    }
}

计算出生的天数

package cn.itcast.day02.demo02;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Datebirthday {
    public static void main(String[] args) throws ParseException {
        Scanner san=new Scanner(System.in);
        System.out.println("请输入你的出生日期,格式为yyyy-MM-dd");
        String str=san.next();
        //将出生日期转换为date格式
        SimpleDateFormat sim=new SimpleDateFormat();
        Date date=new Date();
        date=sim.parse(str);
        //将date格式的日期转换为毫秒值
        long birthday= date.getTime();
        //获取当前的日期转换为毫秒值【构造函数】
        long todaytime=new Date().getTime();
        long cha=todaytime- birthday;
        System.out.println(cha/1000/60/60/24);
    }
}

在这里插入图片描述

Calendar类

在这里插入图片描述

package cn.itcast.day02.demo02;
import java.util.Calendar;
public class Calenderdemo {
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();//多态
        System.out.println(c);
        //成员方法get
        int year=c.get(Calendar.YEAR);
        System.out.println(year);
        int month=c.get(Calendar.MONTH)+1;
        System.out.println(month);
       //成员方法set
        c.set(Calendar.YEAR,2088);
             c.set(2088,12,12);
        year=c.get(Calendar.YEAR);
        System.out.println(year);
        //成员方法add
        c.add(Calendar.YEAR,2);
        year=c.get(Calendar.YEAR);
        System.out.println(year);
//gettime()方法获取Calender类
        Calendar cc=Calendar.getInstance();
        Date date=c.getTime();
        System.out.println(date);

    }
}
java.util.GregorianCalendar[time=1604485533562,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=10,WEEK_OF_YEAR=45,WEEK_OF_MONTH=1,DAY_OF_MONTH=4,DAY_OF_YEAR=309,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=6,HOUR_OF_DAY=18,MINUTE=25,SECOND=33,MILLISECOND=562,ZONE_OFFSET=28800000,DST_OFFSET=0]
2020
11
2088
2088
1991
Sat Jan 12 18:25:33 CST 1991

System类

java.lang.System类中提供了大量的静态方法,可以获得系统相关的信息,常用的方法有:

  • public ststic long currentTimeMillis():返回以毫秒单位的当前时间
  • public static void arraycopy(Object src,int srcPos ,object dest,int desPos, int length):将数组指定的数据拷贝另一个数组中。【源数组,源数组起始位置,目标数组,目标数据中起始位置,要复制的数组元素数量】
import java.util.Arrays;
public class systemdemo {
    public static void main(String[] args) {
    long t1= System.currentTimeMillis();
        for (int i = 0; i < 99; i++) {
            System.out.println(i);
        }
        long t2= System.currentTimeMillis();
     System.out.println(t2-t1);
     //str【1,2,3,4,5,6】dest【7,8,9,10,11,12,13】
        //str【1,2,3,4,5,6】dest【1,2,3,10,11,12,13】
        int[] str={1,2,3,4,5,6};
        int[] dest={7,8,9,10,11,12,13};
        System.arraycopy(str,0,dest,1,3);
        System.out.println(Arrays.toString(dest));
    }
}
98
1
[7, 1, 2, 3, 11, 12, 13]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值