Java常用类1:时间日期类和File类

时间日期类

1、日期时间核心类图

在这里插入图片描述

 在标准Java类库中包含一个Date类。它的对象表示一个特定的瞬间,精确到毫秒。
 Java中时间的表示说白了也是数字,是从:标准纪元1970.1.1 0点开始到某个时刻的毫秒数,类型是long

2、Date(时间类)

//构造方法	
	1)、获取当前时间:Date date = new Date();
	2)、指定毫米至,获取时间对象:Date date = new Date(long Date);
	
//成员方法
	1)、获取时间对象的毫秒值:public long getTime()
	2)、设置毫秒值,改变时间对象:public void setTine(long time)

3、SimpleDateFormat(时间格式化类)

1、作用:
    把时间对象转换位字符串,反之,把字符串转换为时间对象.
    	1)、时间对象转为字符串:public final String format(Date date) 
    	2)、字符串转为时间对象:public Date parse(String source)  
    SimpleDateFormat类是DateFormat(抽象类、子类)的实现类,一般使用实现类SimpleDateFormat类。

2、构造函数:
    	1)、public SimpleDateFormat():构造一个SimpleDateFormat使用默认模式和日期格式符号为默认的FORMAT区域设置。
    	2)、public SimpleDateFormat(String pattern)使用给定模式SimpleDateFormat并使用默认的FORMAT语言环境的默认日期格式符号。
    	3)、public SimpleDateFormat(String pattern,
                        Locale locale)构造一个SimpleDateFormat使用给定的模式和给定的区域设置的默认日期格式符号。
 
3、时间日期和时间格式:
    y:年  M:月  日:d  时:H  分钟:m  秒:s
   

4、Calendar(日历类)

 1、注意
     Calendar类是一个抽象类,他为特定瞬间与一组诸如YEAR、MONTE等日历字段
     获取方法:
     		    Calendar calendar=Calendar.getInstance();
				Calendar calendar1=new GregorianCalendar(2999,8,12);
     子类: GregorianCalendar(公历)
 2、方法:
         public static Calendar getInstance():使用默认时区和语言环境获得日历
         public int get(int field):返回给定日历的字段
         	字段:
         		Calendar.MONTH
         		Calendar.DAY_OF_MONTH
         		、、、、
         public final void Set(int filed(字段),int 修改):修改指定字段。
         public void add(int filed,int amount):对指定的字段向前加或向后减。

  3、日期对象和事件对象相互转换:
        日期(Calendar)转时间(Date):Date time = calendar.getTime();
	    时间(Date)对象转为日期(Calendar)对象:Calendar calendar=new GregorianCalendar();
       										 calendar.setTime(new Date());		

5、可视化日历程序

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

/**
 * @author shkstart
 * @create 2020-05-26 19:53
 */
public class CalendarTest {
    public static void main(String[] args) throws ParseException {

        Scanner scanner=new Scanner(System.in);

        System.out.println("请输入一个日期,格式是:(2020-5-26):");
        String str=scanner.nextLine();
        System.out.println();

        //获取时间转化类,把字符串转为时间对象
        DateFormat dateFormat=new SimpleDateFormat("yyy-MM-dd");
        Date parse = dateFormat.parse(str);

        //获取日历类,把时间对象转为日期对象
        Calendar calendar=new GregorianCalendar();
        calendar.setTime(parse);
        
        //获取本月这天的月份
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        //初始化月份值为1
        calendar.set(Calendar.DAY_OF_MONTH,1);

        System.out.println("日\t一\t二\t三\t四\t五\t六");


        //让月份获取对应的星期数
        for (int i = 0; i < calendar.get(Calendar.DAY_OF_WEEK)-1 ; i++) {
            System.out.print("\t");
        }

        //获取这个月的最大数
        int days = calendar.getActualMaximum(Calendar.DATE);

        //循环遍历月份
        for (int i = 1; i <= days; i++) {
            
            if (day==calendar.get(Calendar.DAY_OF_MONTH)){

                System.out.print(calendar.get(Calendar.DAY_OF_MONTH)+"*\t");
            }else {

                System.out.print(calendar.get(Calendar.DAY_OF_MONTH)+"\t");
            }

            //判断当月份为星期六时换行
            if (calendar.get(Calendar.DAY_OF_WEEK)==7){
                System.out.println();
            }

            //月份向前加1
            calendar.add(Calendar.DAY_OF_MONTH,1);
        }

    }
}

在这里插入图片描述

File类

1、File类常用方法

 //1、File类常用用法--针对文件
        File file = new File("a.txt");
        file.createNewFile(); //创建文件

        System.out.println("File是否存在:" + file.exists());
        System.out.println("File是否是目录:" + file.isDirectory());
        System.out.println("File是否是文件:" + file.isFile());
        System.out.println("File最后修改时间:" + new Date(file.lastModified()));
        System.out.println("File的大小:" + file.length());
        System.out.println("File的文件名:" + file.getName());
        System.out.println("File的目录路径:" + file.getAbsolutePath());
//2、针对文件夹的mkdirs()和Mkdir()
		File file1 = new File("zz/ls/ww");
        boolean mkdir = file1.mkdir();//只有有一个目录不存在就会创建失败
        boolean mkdirs = file1.mkdirs();//如果目录不存在,直接创建
        System.out.println(file1);
	

2、递归打印文件目录树

 public static void printFile(File file, int levn) {
        //输出层数
        for (int i = 0; i < levn; i++) {
            System.out.print("——");
        }
        System.out.println(file.getName());
        //判断文件夹是否为空
        if (file.isDirectory()) {
            //获取文件数组
            File[] files = file.listFiles();
            //遍历
            for (File file1 : files) {
                //递归
                printFile(file1, levn + 1);
            }
        }
    }
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值