||-----Date
类 Date 表示特定的瞬间,精确到毫秒。(即年月日时分秒)
public classTest01 {
public static void main(String[] args) {
//获取当前系统时间日期对象
Date date1 = new Date();
System.out.println("当前时间:"+date1);//Fri Jul 2802:15:22 CST 2017
// long getTime() 功能:返回自 1970 年 1 月 1 日 00:00:00 到当前时间的毫秒数
long l = date1.getTime();
System.out.println(l);//1501179322396
//void setTime(long time)
//注意:设置的时间为固定不走的时间(定时)
Date date2 = new Date();
date2.setTime(1501179322396L);//Fri Jul 28 02:15:22 CST 2017
System.out.println("设置的时间:"+date2);
/*
* boolean after(Date when) 功能: 测试此日期是否在指定日期之后
* date2设置时间:2017年7月28号 02:15:22
* date1当前时间:2017年7月28号 02:28:xx
*/
boolean bf1 = date1.after(date2);
System.out.println("当前日期是否在设定的日期之后:"+bf1);//true
/*
* boolean before(Date when) 功能: 测试此日期是否在指定日期之前
* date2设置时间:2017年7月28号 02:15:22
* date1当前时间:2017年7月28号 02:28:xx
*/
boolean bf2 = date1.before(date2);
System.out.println("当前日期是否在设定的日期之前:"+b2);//false
//注意:两个当前的瞬间没有可比性,即两个当前时间对象做比较
Date date3 = new Date();
Date date4 = new Date();
System.out.println(date3.after(date4));
}
}
||-----Calendar
Calendar表示日历对象
public class Test01{
public static void main(String[] args) {
//第一步:获取日历对象
Calendar cd =Calendar.getInstance();
System.out.println(cd);
/*
* 第二步:获取年月日。
* 格式:Calendar.get(Calendar代表年月日的常量字段)
*/
//年
int year =cd.get(Calendar.YEAR);
//月 注意:月份要加上一
int month =cd.get(Calendar.MONTH)+1;
//日
int day =cd.get(Calendar.DAY_OF_MONTH);
//周 注意:周要减一
int week =cd.get(Calendar.DAY_OF_WEEK)-1;
//时 HOUR表示12小时制,HOUR_OF_DAY表示24小时制
int hour = cd.get(Calendar.HOUR_OF_DAY);
//分
int min=cd.get(Calendar.MINUTE);
//秒
int sec=cd.get(Calendar.SECOND);
String time = year+"年"+month+"月"+day+"星期"+getWeeksStringNum(week)+" "+hour+"时"+min+"分"+sec+"秒" ;
System.out.println(time);
}
//将获取周的数字转成中文的数字
//如: 1转成一 2转成二 3转成三。
privatestatic String getWeeksStringNum(int weeksIndex) {
StringweekStr[] = {"日","一","二","三","四","五","六"};
return weekStr[weeksIndex];
}
}
注意:只要是碰到周,月份的时候,一定要看看周日和一月是否是你要想要的值。
||----SimpleDateFormat是对时间日期处理的格式化工具类
1.将Date类型的时间日期转换为指定格式的String类型的时间日期
public classTest01 {
public static void main(String[] args) {
//将Date类型的时间日期转换成指定格式的时间日期
Date date = new Date();
/*
* 方式1:默认风格的时间日期
*/
//第一步:创建时间日期格式化工具对象
SimpleDateFormat sd1 = newSimpleDateFormat();
//第二步:转换
String strDate 1= sd1.format(date);
System.out.println(strDate1);
/*
* 方式2:指定风格的时间日期
*/
// 第一步:创建时间日期格式化工具对象并指定时间日期格式 SimpleDateFormat sd2 = newSimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//第二步:转换
String strDate2 = sd2.format(date);
System.out.println(strDate2);
}
}
2.将String类型的时间日期转换为指定格式的Date类型的时间日期
public classTest02 {
public static void main(String[] args)throws ParseException {
//字符串类型的时间日期
String strDate = "2019年10月11日";
//第一步:创建时间日期格式化工具类对象,并制定和字符串的时间日期格式一致
SimpleDateFormat sp = newSimpleDateFormat("yyyy年MM月dd日");
//第二步:转换
Date date = sp.parse(strDate);
System.out.println(date);
}
}
||----DecimalFormat是对数字处理的格式化工具类
1.基本数据类型的数字转换为指定格式的String类型数字
public classTest01 {
public static void main(String[] args) {
double numStr = 123.131;
/*
* 第一步:创建数字格式化工具类对象,并制定格式数字格式
* 注意:数字格式#表示一个数字位
* 如:3,435,435美元
* 数字格式:###,###美元
* 如:3,43,54,35
* 数字格式:##,##
* 如:3,43,54,35.00
* 数字格式:##,##.00
*/
DecimalFormat df = newDecimalFormat("####,####.0美元");
/*
* 第二步:转换
* String format(Object number)
*/
String strnum = df.format(numStr);
System.out.println(strnum);
}
}
2.String类型的数字转换为指定的基本数据类型数字
public classTest02 {
public static void main(String[] args)throws ParseException {
String strNum ="1232.131$";
//第一步:创建数字格式化工具类对象
DecimalFormat df = newDecimalFormat();
/*
* 第二步:将字符串的数字转换成Number类型的数字
* 注意:Number表示所有的数字
* Number:int,double,float,long
*/
Number num =df.parse(strNum);
/*
* 将Number类型转换成基本数字类型
*/
//转int
int i = num.intValue();
System.out.println(i);//1232
//转double
double d = num.doubleValue();
System.out.println(d);//1232.131
//转float
float f = num.floatValue();
System.out.println(f);//1232.131
}
}