1、获取当前时间:
Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间
Date a=new Date();
System.out.println(a.toString());
2、
我们需要先将java.util.data的包先引进来
然后通过 Date dNow = new Date( );
package com.cmj;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test1 {
public static void main(String[] args) {
Date a=new Date();
System.out.println(a.getDate());
System.out.println(a.getYear()+1900);
SimpleDateFormat b = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(b.format(a));
Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
System.out.println("当前时间为: " + ft.format(dNow));
}
}
java.lang.System类
静态方法currentTimesMillis(),用来返回当前时间
距离1970年1月1日0时0分0秒之间以毫秒为单位的时间差,也叫时间戳
java.util.Date类
主要涉及到两个构造器无参的构造器和带参数的构造器,常用方法也有两个toString方法和getTime方法
Date date1 = new Date();
System.out.println(date1.toString());// Tue Oct 29 07:35:09 CST 2019
System.out.println(date1.getTime());// 1572305836011
// 构造器2
Date date2 = new Date(1572305836011L);
System.out.println(date2.toString()); // Tue Oct 29 07:37:16 CST 2019
说明:
关于java.util.Date类需要会使用两个构造器和两个方法。
- 使用空参的构造器: 创建一个对应当前时间的Date对象
- 使用带参的构造器:创建指定毫秒数的Date对象
- 使用
toString
方法:显示当前的年,月,日,分,时,秒,时区 - 使用
getTime
方法,获取当前Data对象对应的时间戳
参数为long型的日期
Date date4 = new java.sql.Date(1572305836011L);
java.sql.Date date5 = (java.sql.Date)date4;
传入的时间戳,后面需要以L结尾,代码在识别时,可以识别成long型
long time = System.currentTimeMillis();
System.out.println(time);//输出当前时间的时间戳
JAVA中的时间类型的转换:SimpleDateFormat类
1、SimpleDateFormat类,他允许进行格式化:日期-->文本
、 解析:文本-->日期
。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh:mm");
String s = simpleDateFormat.format(new Date());
System.out.println(s);
//解析
String s1 = "2020-10-29 02:02:59";
Date date4 = simpleDateFormat.parse(s1);
System.out.println(date4);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh:mm");
后面的 "yyyy年MM月dd日 hh:mm"可以自行的更改里面输出的格式
例如:yyyy年MM月dd日 hh:mm、yyyy年MM月dd日 hh:mm:ss、yyyy-MM-dd hh:mm
代码只识别中间的yyyy、MM、dd这些内容
hh显示为12小时制、HH的话,显示为24小时制
说明:
使用SimpleDateFormat的默认构造器创建出来的对象,去调用format方法进行时间日期的格式化后出来的格式是固定的,并且是2020-10-29 02:02:59
这样的形式,要解析的字符串也必须以这种格式,否则解析不了。
例如:2019/10/29 下午1:43这种格式,就解析不了,会报错
java.util.Calender日历类(抽象类)
Calendar是一个抽象基类,主用用于完成日期字段之间相互操作的功能。获取一个Calendar实例的方法如下:
- 使用
Calendar.getInstance()
方法 - 调用它的子类
GregorianCalendar
的构造器。
public static void test1(){
//1.类的实例化方式:调用Calendar.getInstance方法
Calendar calendar = Calendar.getInstance();
// System.out.println(calendar.getClass());// class java.util.GregorianCalendar
//2.常用方法
//get()方法
int day1 = calendar.get(calendar.DAY_OF_MONTH);// 获取calender对象是当前月的第几天
int day2 = calendar.get(calendar.DAY_OF_YEAR);// 获取当前calender对象是当前年的第几天
System.out.println(day1);
System.out.println(day2);
//set()方法
calendar.set(calendar.DAY_OF_MONTH,22); // 将calender对象的DAY_OF_MONTH属性设置为22,将原先的属性改了(可变性)
day1 = calendar.get(calendar.DAY_OF_MONTH);
System.out.println(day1);
//add()方法
calendar.add(calendar.DAY_OF_MONTH,3); // +3天
day1 = calendar.get(calendar.DAY_OF_MONTH);
System.out.println(day1);
calendar.add(calendar.DAY_OF_MONTH,-3);// -3天
day1 = calendar.get(calendar.DAY_OF_MONTH);
System.out.println(day1);
//getTime()方法 将日历类转换为Date
Date date = calendar.getTime();
System.out.println(date); //Tue Oct 22 13:06:05 CST 2019
//setTime()方法 将Date类转换为日历类
Date date1 = new Date(); // 获取当前时间的Date
calendar.setTime(date1);// 将当前日历设置为date1对象对应的时间
day1 = calendar.get(calendar.DAY_OF_MONTH);
System.out.println(day1);
}
获取月份时,一月是0,二月是1,以此类推,12月是11
获取星期时,周日是1,周一是2,以此类推,周六是7