java.util.Date
Date:相当于时间解析器,将系统时间(通过System.currentTimeMillis()获得)解析为年月日时分秒毫秒,进行时间的格式化操作。也可以将年月日时分秒转化为系统时间。
Date date=new date(System.out.println()+(1000l*60*60));//在此处给系统时间加了一个小时的时间,也可以加一年,一个月等等。 System.out.println(Date.getHours());//将系统中的小时解析出来 System.out.println(Date.getMinutes());//将系统中的分钟解析出来 System.out.println(Date.getSeconds());//将系统中的秒解析出来 Date date=new Date();//这个的构造器有四个long date,年月日,年每月日时分,年月日时分秒 Date date =new Date(年月日时分秒);//将随机设定的时间转换成长整型时间 Long time=date.gettime();//获得一个长整型时间。
判断时间的大小:
1.将时间转化成长整形通过比较它的大小来判断时间
2.用before();after();方法来比较大小
time.before(time1);//表示time时间是否在time1之前如果是则返回true time.after(time1);//time时间是否在time1之后 ,如果是返回true
date总结:
date是一个双向的时间解析器,可以把系统时间转换为标准时间,可以把标准时间转换为系统时间
long time=System.currentTimeMillis()//系统时间的获取
java.test.SimpleDateFormat
SimpleDateFormat:可以把字符串格式转换为日期格式,也可以根据自己的需求去设计日期格式。
表达式: yyyy4位的年 yy2位的年 月 : MM:01 M:1 日: dd : 01 d:1 小时:HH(24小时制) HH: H: 小时: hh(12小时制)hh: h: 分钟:mm:01 m:1 秒:ss:01 s:1simpleDateFormat.fotmat(new Date);//是将以后系统时间转换为自己喜欢的格式 simpleDateFormat.parse(String string);//将字符串转换为日期 parse:是把字符串转换为日期 format:是把日期转换为字符串
package my.xutao;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatClass {
public static void main(String[] args) throws ParseException {
String datetime="2019-08-22 15:40:37";
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=simpleDateFormat.parse(datetime);//是把字符串转换为日期
System.out.println(date.toLocaleString());
simpleDateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(simpleDateFormat.format(new Date()));//是把日期转换为字符串
}
}
java.util.Locale
Locale:可以通过它获得当前设置的区域(当前区域获得)
Locale locale=Locale.getDefault();//获得当前设置的区域 System.out.println(locale.getDisplayCountry()); System.out.println(locale.getDisplayLanguage());
Locale.setDefault(Locale.CHINA);//设置当前区域,会影响其他的方法输出
System.out.println(new Date().toLocaleString());//获得当前区域的时间
Locale locale1=new Locale("朝鲜");//自己制作一个区域
System.out.println(locale1.toString());
java.util.Calendar
主要用于对时间的操作,得到这个月最大的天数,增加减少时间,得到今年有多少天等等的操作,都需要用到日历类。
Calendar calendar=Calendar.getInstance();//日历类无法直接创建对象,可以通过一个方法去获得对象(日历类是一个抽象类,无法创建对象) calendar.set(Calendar.YEAR,12);//设置年份 calendar.set(2018,7,8,8,8,8);//对应年月日时分秒 calendar.set(Calendar.MONTH,5);//设置月份当前的数字+1是要输出的月份 calendar.add(Calendar.MONTH,5);//当前时间或者设置时间增加5个月,如果要做减法操作,则那月份改成负数 System.out.println(calendar.getTime().toLocaleString()); calendar.getTime();//获取系统时间而且在new出日历类的时候,这个时间就已经得到了返回的是Date日期
String[] weeks={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
System.out.println(weeks[Calendar.DAY_OF_WEEK - 1]);
以上代码是获得当前时间的星期