时间日期类
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;
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) ;
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 ( ) ;
}
calendar. add ( Calendar. DAY_OF_MONTH, 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 ( ) ) ;
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 ) ;
}
}
}