Date日期类
说明
//日期在开发中常用于:时间生日,下单时间,付款时间
//类Date 表示特定的瞬间,精确到毫秒
Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。
构造函数
new Date() :返回当前的本地日期和时间
返回值:{Date} 返回一个表示本地日期和时间的Date对象。
var dt = new Date();
console.log(dt); // => 返回一个表示本地日期和时间的Date对象
getTime() :返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00') 。
long time=date1.getTime();
System.out.println(time+"毫秒");
毫秒数;表示从'1970/01/01 00:00:00'(东八区)为起点,开始计算经过了多少毫秒
注意:起点的时分秒还要加上当前所在的时区,北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00'
Date date2=new Date(1000);
System.out.println(date2);
这种方法还有好多不多展示
dt.getFullYear(); // => 2014:年
dt.getMonth(); // => 11:月;实际为12月份(月份从0开始计算)
dt.getDate(); // => 25:日
dt.getHours(); // => 15:时
dt.getMinutes(); // => 30:分
dt.getSeconds(); // => 40:秒
dt.getMilliseconds(); // => 333:毫秒
dt.getDay(); // => 4:星期几的值
dt.getTime(); // => 1419492640333 :返回Date对象与'1970/01/01 00:00:00'之间的毫秒值(北京时间的时区为东8区,起点时间实际为:'1970/01/01 08:00:00')
SimpleDateFormat
说明
SimpleDateFormat类是DateFormat类的子类,我们一般使用它。
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss”);
我们一般使用这个构造方法来实例化SimpleDateFormat对象。
括号里面的yyyy年MM月dd日 HH:mm:ss;代表我们传入的Date对象转变为字符串时的格式。
DateFormate的format()方法来格式化时间,返回值类型为:String
使用parse()方法解析字符串并返回一个Date对象。
//SimpleDateFormat用来实现日期和字符串之间的相互转化
SimpleDateFormat sdf=new SimpleDateFormat("YYY/MM/dd HH:mm:ss");//创建日期格式化类的对象,指定格式符号
Date date1=new Date();//获取当前时间
//把日期转换成指定格式的字符串
String format= sdf.format(date1);
System.out.println(format);
//把指定格式的字符串 转换成日期
String time="2000/10/20 8:20:38";
Date date2=sdf.parse(time);
System.out.println(date2);
总结:
- 1.先使用Date date = new Date(); //创建一个现在的时间对象。
- 2.使用SimpleDateFormate sdf = new SimpleDateFormate(“你想要的需要的格式”);
calendar
说明
在实际项目当中,我们经常会涉及到对时间的处理,例如登陆网站,我们会看到网站首页显示XXX,欢迎您!今天是XXXX年。。。。某些网站会记录下用户登陆的时间,比如银行的一些网站,对于这些经常需要处理的问题
Calendar类是一个抽象类,可以通过Calendar的getInstance方法返回一个calendar对象
Calendar rightNow = Calendar.getInstance();
成员方法
- public static Calendar getInstance()
- public int get(int field)
- public void add(int field, int amount)
- public final void set(int year, int month, int date)
Calendar calendar=Calendar.getInstance();
Date date2=calendar.getTime();//获取当前时间
System.out.println(date2);
long timeInMillis=calendar.getTimeInMillis();
System.out.println("当前时间的毫秒值:"+timeInMillis);
TimeZone timeZone=calendar.getTimeZone();
System.out.println("时区:"+timeZone);
//get方法可以根据指定的日历字段 获取时间对应的值
int year=calendar.get(Calendar.YEAR);
System.out.println("年份"+year);
int month=calendar.get(Calendar.MONTH);
System.out.println("月份:"+(month+1));//0——11月 表示1——12月
int date=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("日期"+date);
System.out.println("-----------------------------------");
//获取 指定日期 月份0-11 表示1-12月
calendar.set(2000,9,28,15,32,29);
Date date3=calendar.getTime();
System.out.println(date3);