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+"rnmonth="+month+"rnday ="+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("你好rn布鲁克" );
// 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));
}
}
测试结果:



