java.util.Date类
构造方法
Date()
// Date()
Date date = new Date();//获取当前时间段的Date类对象
System.out.println(date);// Wed Dec 08 23:48:35 CST 2021
Date(long date)
// Date(long date) date为毫秒
Date date1 = new Date(1638978618000L);
System.out.println(date);//Wed Dec 08 23:50:18 CST 2021
成员方法
long getTime()
// getTime(); 返回Date对象时间到1970-01-01之间的毫秒数
Date date = new Date();
long times = date.getTime();
System.out.println(times);//1638979010697
SimpleDateFormat
构造方法
SimpleDateFormat(String pattern)
指定转换的日期时间格式
符号 | 含义 |
---|---|
y | 年 |
M | 月 |
d | 日 |
H | 时 |
m | 分 |
s | 秒 |
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
成员方法
String format(Date date)
按照指定的格式将Date格式化为String
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String resDate = sdf.format(date);
System.out.println(resDate);//2021-12-09 00:09:42
Date parse(String source)
将字符串按照指定的格式转换为Date
String srcStr = "2021年12月09日 00时13分23秒";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
Date date = null;
try {
date = sdf.parse(srcStr);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);//Thu Dec 09 00:13:23 CST 2021
java.util.Calendar类
是个抽象类,无构造方法
静态方法
static Calendar getInstance()
Calendar c = Calendar.getInstance(); //多态
成员方法
int get(int field)
返回给定日历常量字段的值
常量 | 含义 |
---|---|
YEAR | 年 |
MONTH | 月 0-11 |
DATE | 月中的某一天 |
DAY_OF_MONTH | 月中的某一天 |
DAY_OF_YEAR | 年中的某一天 |
DAY_OF_WEEK | 周中的某一天 0-6 |
HOUR | 时 |
MINUTE | 分 |
SECOND | 秒 |
Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));// 2021
System.out.println(c.get(Calendar.MONTH));// 11
System.out.println(c.get(Calendar.DATE));// 9
System.out.println(c.get(Calendar.DAY_OF_YEAR));// 343
System.out.println(c.get(Calendar.DAY_OF_MONTH));// 9
System.out.println(c.get(Calendar.DAY_OF_WEEK));// 3
void set(int field, int value)
设置日志指定常量 字段的值
Calendar c = Calendar.getInstance();
System.out.println(c.set(Calendar.YEAR,2022));// 2022
System.out.println(c.set(Calendar.MONTH,12));// 12
System.out.println(c.set(Calendar.DATE,10));// 10
System.out.println(c.set(Calendar.DAY_OF_YEAR,342));// 342
System.out.println(c.set(Calendar.DAY_OF_MONTH,10));// 10
System.out.println(c.set(Calendar.DAY_OF_WEEK,4));// 4
abstract void add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去指定的时间量
Calendar c = Calendar.getInstance();
//把年增加2年
c.add(Calendar.YEAR,2);
//把月份减少3个月
c.add(Calendar.MONTH,-3);
int year = c.get(Calendar.YEAR);
System.out.println(year);// 2023
int month = c.get(Calendar.MONTH);
System.out.println(month);//西方的月份0-11 东方:1-12
//int date = c.get(Calendar.DAY_OF_MONTH);
int date = c.get(Calendar.DATE);
System.out.println(date);
Date getTime()
返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
Date date = c.getTime();
System.out.println(date);
System类
静态方法
static long currentTimeMillis()
返回以毫秒为单位的当前时间
//程序执行前,获取一次毫秒值
long s = System.currentTimeMillis();
//执行for循环
for (int i = 1; i <=9999 ; i++) {
System.out.println(i);
}
//程序执行后,获取一次毫秒值
long e = System.currentTimeMillis();
System.out.println("程序共耗时:"+(e-s)+"毫秒");//程序共耗时:106毫秒
static void arraycopy(5个参数)
参数:
- src - 源数组。
- srcPos - 源数组中的起始位置(起始索引)。
- dest - 目标数组。
- destPos - 目标数据中的起始位置。
- length - 要复制的数组元素的数量。
作用:将数组中指定的数据拷贝到另一个数组中
//定义源数组
int[] src = {1,2,3,4,5};
//定义目标数组
int[] dest = {6,7,8,9,10};
System.out.println("复制前:"+ Arrays.toString(dest));
//使用System类中的arraycopy把源数组的前3个元素复制到目标数组的前3个位置上
System.arraycopy(src,0,dest,0,3);
System.out.println("复制后:"+ Arrays.toString(dest));