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+"\r\nmonth="+month+"\r\nday ="+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("你好\r\n布鲁克" ); // 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)); } }
测试结果: