Java基础(五) Java日期时间

Java 日期时间
1.java.util 包提供了 Date 类来封装当前的日期和时间
获取当前日期时间
Java中获取当前日期和时间很简单,使用 Date 对象的 toString() 方法来打印当前日期和时间,如下所示:

public class Datedemo {
	public static void main(String[] args) {
		//初始化Date对象
		Date date =new Date();
		// 使用 toString() 函数显示日期时间
		System.out.println(date.toString());
	}

}

编译结果为:

**Sat Oct 27 14:43:53 CST 2018**

2格式化日期
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。例如:

public class Datedemo {
	public static void main(String[] args) {
		Date date =new Date();
		
		//SimpleDateFormat属于DateFormat子类
		DateFormat ft =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		System.out.println(ft.format(date));
	}

}

以上实例编译运行结果如下:

2018-10-27 02:47:47

DateFormat ft =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

上面代码确立了转换的格式,其中 yyyy 是完整的公元年,MM 是月份,dd 是日期,HH:mm:ss 是时、分、秒。注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。 SimpleDateFormat属于DateFormat子类

3.Java 休眠(sleep)
sleep()使当前线程进入停滞状态(阻塞当前线程),让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会

public class Sleeodate {
	public static void main(String[] args) {
		try {
			
			System.out.println(new Date()+"\n");
		    Thread.sleep(1000*3);  //休眠3秒
			System.out.println(new Date()+"\n");
				
			} catch (Exception e) {
			
		}
	}

输出结果为

Sat Oct 27 15:04:49 CST 2018

Sat Oct 27 15:04:52 CST 2018

4.测量2个时间差

public class Datecha {
	public static void main(String[] args) {
		try {
			long start=System.currentTimeMillis();
			System.out.println(new Date( ) + "\n");
	        Thread.sleep(5*60*10);
	        
	        System.out.println(new Date( ) + "\n");
	        long end = System.currentTimeMillis( );
	        
	        long differ=end-start;
	        System.out.println("2者的时间差为"+differ);
			
		} catch (Exception e) {
			System.out.println(e);
			
		}
	}

}

输出结果为,时间相差3秒

Sat Oct 27 15:12:50 CST 2018

Sat Oct 27 15:12:53 CST 2018

2者的时间差为3010

4.使用Calendar类
如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 需要使用Calendar 类。

Calendar类的功能要比Date类强大很多,而且在实现方式上也比Date类要复杂一些。

Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,创建对象的过程对程序员来说是透明的,只需要使用getInstance方法创建即可,如下:

public class CalendarDate1 {
	public static void main(String[] args) {
		
            Calendar c1 = Calendar.getInstance();
            
            // 获得年份  
            System.out.println(c1.get(Calendar.YEAR));
            
            // 获得年份
            int year = c1.get(Calendar.YEAR);
            System.out.println(year);
            // 获得月份
            int month = c1.get(Calendar.MONTH) + 1;
            System.out.println(month);
            // 获得日期
            int date = c1.get(Calendar.DATE);
            System.out.println(date);
            // 获得小时
            int hour = c1.get(Calendar.HOUR_OF_DAY);
            System.out.println(hour);

            // 获得分钟
            int minute = c1.get(Calendar.MINUTE);
            System.out.println(minute);
            // 获得秒
            int second = c1.get(Calendar.SECOND);
            System.out.println(second);
            
            // 获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
            int day = c1.get(Calendar.DAY_OF_WEEK);
            System.out.println(day);
            
        }
}

运行结果如下:

2018
2018
10
27
15
44
26
7

参考资料:菜鸟教程,Java时间还有JDK版本的区分,后面再进行整理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值