Java 一些常用类

一、时间日期

1、Date类

Date类表示特定的一个瞬间(需要导入java.util.Date类)

System.out.println(new Date()); //Tue Nov 24 11:44:04 CST 2020

2、DateFormat类

java.text.DateFormat是时间日期格式化子类的抽象类,是 Date 对象与 String 对象之间进行转换
因为 DateFormat 为抽象类不能直接使用,所以需要常用的子类 java.text.SimpleDateFormat,这个类需要一个格式来指定格式化,其表示方法为:

public SimpleDateFormat(String pattern)
其中 pattern 是一个字符串,表示日期时间的自定义格式

格式:

表示意思
y
M
d
H
m
s

如:

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

public class NewDate {

    public static void main(String[] args){
        //创建 Date 对象
        Date date = new Date();
        //创建日期格式对象,并指定格式化方式
        DateFormat format = new SimpleDateFormat("yyyy 年 MM 月 dd 号");
        String timestamp = format.format(date);
        System.out.println(timestamp);
    }
}

输出:
在这里插入图片描述
将 String 对象转换为 Date 对象,使用 parse 方法

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

public class ParseDemo {
    public static void main(String[] args) throws ParseException {
        //将 String 对象转换为 Date 对象
        DateFormat date = new SimpleDateFormat("yyyy年MM月dd");
        String str = "2020年11月25日";
        Date date2 = date.parse(str);
        System.out.println(date2);
    }
}

输出:
在这里插入图片描述

2、Calendar类

Calendar是日历类,它是抽象类,不能直接闯将对象,需要通过静态方法创建,返回子类对象;
如:

import java.util.Calendar;
public class CalendarClass {
    public static void main(String[] args){
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);
    }
}

常用方法
get(int field) 返回给定的日历字段
set(int field,int value) 返回给定的日历字段设置为给定值
add(int field,int value) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
getTime() 返回一个表示此 Calendar 时间值的 Date 对象

常见的成员变量

字段意义
YEAR
MONTH月(是从0开始的,需要加1)
DAY_OF_MONTH几号
HOUR小时,12小时制
HOUR_OF_DAY24小时制
MINUTE
CECOND
DAY_OF_WEEK一周其中的一天

get()方法:来获取指定字段的值

import java.util.Calendar;

public class CalendarGet {
    public static void main(String[] args){
        Calendar times = Calendar.getInstance();
        //年
        int year = times.get(Calendar.YEAR);
        //月
        int month = times.get(Calendar.MONTH) + 1;
        //天
        int day = times.get(Calendar.DAY_OF_MONTH);
        System.out.println(year + "年" + month + "月" + day + "日");
    }
}

输出:
在这里插入图片描述
set() 方法:设置指定字段的值

package Demooen;
import java.util.Calendar;

public class CalendarSet {
    public static void main(String[] args){
        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.YEAR,2025); //设置指定的年份
        int year = cal.get(Calendar.YEAR);  //获取年
        int month = cal.get(Calendar.MONTH) + 1; //获取月
        int day = cal.get(Calendar.DAY_OF_MONTH); //获取月

        System.out.println(year + "年" + month + "月" + day + "日");
    }
}

输出:
在这里插入图片描述

add() 方法:对指定日历字段的值进行加减操作,如果第二个参数为正数则加航帮派那一辆,如果为负数则减去偏移量

package Demooen;
import java.util.Calendar;
public class CalenderAdd {
    public static void main(String[] args){
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH) + 1;
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(year + "年" + month + "月" + day + "日"); //2020年11月25日

        //使用add增减
        calendar.add(Calendar.YEAR,2); //加两年
        calendar.add(Calendar.MONTH,-3); //减3天

        int year1 = calendar.get(Calendar.YEAR);
        int month1 = calendar.get(Calendar.MONTH) + 1;
        int day1 = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(year1 + "年" + month1 + "月" + day1 + "日"); //2022年8月25日

    }
}

输出:
在这里插入图片描述
getTime() 方法:拿到对应的 Date 对象

import java.util.Calendar;
import java.util.Date;
public class CalendarGetTime {
    public static void main(String[] args){
        Calendar calendar = Calendar.getInstance();
        Date date = calendar.getTime();
        System.out.println(date);
    }
}

输出:
在这里插入图片描述

二、System类

1、currentTimeMIllis方法:是获取当前系统时间与1970年1月1日00:00点之间的差值(单位毫秒 ms)

System.out.println(System.currentTimeMillis()); //1606300362963

打印一个程序运行的时间

public class currentTimeMillissss {
    public static void main(String[] args){
        long start = System.currentTimeMillis();
        for(int i=0; i<1000; i++ ){
            System.out.println(i);
        }
        long end = System.currentTimeMillis();
        System.out.println(end - start + "ms");
    }
}

输出:
在这里插入图片描述

2、arraycopy方法:数组的拷贝,System.arraycopy 参数有:

参数名类型含义
srcObject源数组
srcPosint源数组索引起始位置
destObject目标数组
lengthint复制元素个数
import java.util.Arrays;
public class ArrayCopyDemo {
    public static void main(String[] args){
        int[] a = new int[] {1,2,3,4,5};  //源数组
        int[] b = new int[] {6,7,8,9,10}; //目标数组
        System.arraycopy(a,0, b,0,3); //从a的开始复制到b的开始(索引从0开始),长度为3
        
        System.out.println(Arrays.toString(b)); //打印b数组
    }
}

输出:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值