Java 日期与时间

1、获取当前时间

  

        Date date = new Date();
        System.out.println(date);//Sun Mar 31 11:45:14 CST 2019
        
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar);//java.util.GregorianCalendar...
        
        //import java.sql.Timestamp;
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        System.out.println(timestamp);//2019-03-31 11:45:14.512

 

2、日期比较

  • 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
  • 使用方法 before(),after() 和 equals()。
  • 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

 

    /**
     * 
     * @param date1
     * @param date2
     * @return true-(date1早于date2)
     */
    public static boolean compareDatetime(Date date1,Date date2) {
        boolean flag = false;

        //1/getTime()
        long aa = date2.getTime() - date1.getTime();
        if ( aa > 0 ) {
            flag = true;
        }
        
        //2/before()/after()
        flag = date1.before(date2);
        
        //3/compareTo()
        int bb = date2.compareTo(date1);
        System.out.println(bb);
        if ( bb > 0 ) {
            flag = true;
        }
        
        return flag;
    }

 

3、日期与字符串装换SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-DD HH:mm:SS");
Date date = new Date();
String strDate = "";
//日期转字符串
strDate = sdf.format(date);
//字符串转日期
date = sdf.parse(strDate);

4、printf格式化输出日期

注意啊 不是println,是printf
其实实际中应该不会怎么用这个,所以就不多说了
具体参考http://www.runoob.com/java/java-date-time.html里的使用printf格式化日期

 

System.out.printf("%tF" + " " + "%tT", date1,date1);//2018-12-01 15:25:22

 

5、测量一段程序执行时间

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 diff = end - start; 
			System.out.println("Difference is : " + diff); 
		} catch (Exception e) { 
			System.out.println("Got an exception!");
		} 
		
	}

  

6、Calendar类操作日期

//创建一个代表2009年6月12日的Calendar对象
Calendar c1 = Calendar.getInstance();
//默认是当前日期
c1.set(2009, 6 - 1, 12);

  

Calendar类对象字段类型

Calendar.YEAR年份
Calendar.MONTH月份
Calendar.DATE日期
Calendar.DAY_OF_MONTH日期,和上面的字段意义完全相同
Calendar.HOUR12小时制的小时
Calendar.HOUR_OF_DAY24小时制的小时
Calendar.MINUTE分钟
Calendar.SECOND
Calendar.DAY_OF_WEEK星期几

 

add方法:

Calendar c1 = Calendar.getInstance(); // c1 默认是当前日期
c1.add(Calendar.DATE, 1);//明天的日期
c1.add(Calendar.DATE, -1);//昨天的日期

相对应的,前天的-2,大前天的-3

月份同理,把Calendar.DATE替换成Calendar.MONTH即可

转载于:https://www.cnblogs.com/sangong/p/9576531.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值