System:
System 类包含一些有用的类字段和方法。它不能被实例化。
成员方法:
public static void exit(int status):终止当前正在运行的 Java 虚拟机。根据惯例,非 0 的状态码表示异常终止。
public static long currentTimeMillis():获取当前时间的毫秒值。
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):复制数组
参数一:要复制的源数组
参数二:从源数组那个索引开始复制
参数三:需要复制到哪个数组中
参数四:从哪个索引开始进行覆盖
参数五:需要覆盖几个元素
import java.util.Arrays;
public class SystemDemo {
public static void main(String[] args) {
//public static void exit(int status):终止当前正在运行的 Java 虚拟机。根据惯例,非 0 的状态码表示异常终止。
System.out.println("hello");
//System.exit(100);//异常终止java虚拟机
//System.exit(0);//正常终止虚拟机
System.out.println("world");
System.out.println("----------------------------------");
//public static long currentTimeMillis():获取当前时间的毫秒值。
//主要用在测试程序的执行时间
//获取循环执行前的时间
/*
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
System.out.println(i);
}
//结束时间
long end = System.currentTimeMillis();
//程序执行使用时间
long time = end - start;
System.out.println("使用"+time+"毫秒");
*/
System.out.println("----------------------------------");
// public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):复制数组
/**
* 参数一:要复制的源数组
* 参数二:从源数组那个索引开始复制
* 参数三:需要复制到哪个数组中
* 参数四:从哪个索引开始进行覆盖
* 参数五:需要覆盖几个元素
*/
//复制一个数组
int[] arr = {1,2,3,4,5};
int[] arr2 = {6,7,8,9,10};
System.arraycopy(arr, 1, arr2, 2, 2);
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.toString(arr2));
}
}
Date
构造方法:
Date():默认获取的是当前的日期时间
Date(long date):把当前日期按照指定的毫秒值进行设定
成员方法:
public long getTime():获取日期对象的毫秒值
public void setTime(long time):设置日期对象的毫秒值
public class DateDemo {
public static void main(String[] args) {
//Date():默认获取的是当前的日期时间
Date d = new Date();
System.out.println(d);//Fri Jan 01 12:39:45 CST 2020
//Date(long date):把当前日期按照指定的毫秒值进行设定
//public long getTime():获取日期对象的毫秒值
System.out.println(d.getTime());
System.out.println(System.currentTimeMillis());//这两种方式获取当前事件毫秒值,效果是等价的
System.out.println("--------------------------");
Date d2 = new Date(d.getTime());
//将第一个创建的日期对象的毫秒值赋值给这个日期对象的构造方法,
//其实创建的就是上个日期对应的日期对象,因为两次的毫秒值相同
System.out.println(d2);
System.out.println("--------------------------");
Date d3 = new Date();
//给日期对象重新赋值之前获取的时间毫秒值
d3.setTime(d.getTime());
System.out.println(d3);
}
}
DateFormat(格式化和解析日期对象)
格式化:
Date – String
2019年9月27日 15:14:23
String format(Date d)
解析:
String – Date
“2019-12-12”
Date parse(String s)
构造:
SimpleDateFormat()用默认的模式格式化日期对象
SimpleDateFormat(String pattern):用给定的模式格式化日期对象
例如:
yyyy年MM月dd日 HH:mm:ss
yyyy-MM-dd HH:mm:ss
import java.text.ParseException;
实例:
public class DateFormatDemo {
public static void main(String[] args) throws ParseException {
Date d = new Date();
System.out.println(d);//Fri Jan 01 17:02:07 CST 2020
System.out.println("----------------------");
//使用simpleDateFormat进行格式化
//默认的格式进行格式化
SimpleDateFormat sdf = new SimpleDateFormat();
String dStr = sdf.format(d);
System.out.println(dStr);
//默认的格式似乎还无法满足我们的需求
//我们需要自定义格式(查看定义的时间字段)
// SimpleDateFormat(String pattern):用给定的模式格式化日期对象
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String d2Str = sdf2.format(d);
System.out.println(d2Str);
System.out.println("--------------------------------");
//解析日期,将一个日期字符串解析成一个日期对象
String dateStr = "2020-01-01 17:08:54";
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//注意创建这个对象的参数格式一定要和解析的字符串的格式相匹配
Date date = sdf3.parse(dateStr);
System.out.println(date);
}
}
成员方法:
public final String format(Date date)将一个 Date 格式化为日期/时间字符串
public Date parse(String source)throws ParseException从给定字符串的开始解析文本,以生成一个日期对象.
日期工具类DateUtils
日期工具类DateUtils
需求:
1.让外界无法创建这个类的对象
2.设置的方法直接可以通过类名调用
3.可以获取 yy年MM月dd日
4.可以获取 HH:mm:ss
5.可以获取 yy-MM-dd HH:mm:ss
import java.text.SimpleDateFormat;