javaCalendar日期比较

javaCalendar日期比较publicstaticvoidmain(String[]args)throwsException{StringstartTime=”2012-12-1212:45:45″;StringendTime=”2012-04-1212:45:40″;StringSYSendTime=”2012-11-1212:45:40″;SimpleDateForma…

大家好,又见面了,我是你们的朋友全栈君。

public static void main(String[] args) throws Exception { 
   
String startTime = "2012-12-12 12:45:45"; 
String endTime = "2012-04-12 12:45:40"; 
String SYSendTime = "2012-11-12 12:45:40";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date startDate = sdf.parse(startTime); 
Date endDate = sdf.parse(endTime); 
Calendar start = Calendar.getInstance(); 
Calendar end = Calendar.getInstance(); 
start.setTime(startDate); 
end.setTime(endDate); 
if(start.before(end)){ 
    
System.err.println("开始时间小于结束时间"); 
}else if(start.after(end)){ 
    
System.err.println("开始时间大于结束时间"); 
}else if(start.equals(end)){ 
    
System.err.println("开始时间等于结束时间"); 
}


}

 

//常用方法 
    public static void method(){ 
     
        Date date = new Date();  
        Calendar c = Calendar.getInstance();  
        //setTime():使用给定的Date设置此 Calendar 的时间 
        c.setTime(date);  
        //获取Calendar对象 
        Calendar cm = Calendar.getInstance();  
        //getTime():获取当前时间,类似于new Date(); 
        Date d = cm.getTime();  
        System.err.println("Calendar获得时间:" + d);  
        System.err.println("new Date创建的时间:" + date);  
        //getTimeInMillis():返回此 Calendar 的时间值,以毫秒为单位。 
        long dl = c.getTimeInMillis();  
        long ddate = cm.getTimeInMillis();  
        System.err.println("毫秒数:" + dl);  
        System.err.println("毫秒数:" + ddate);  
          
        //setTimeInMillis():用给定的 long 值设置此Calendar的当前时间值。 
        long sv = 123456;  
        Calendar sc = Calendar.getInstance();  
        sc.setTimeInMillis(sv);  
        SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
        String st = ss.format(sc.getTime());  
        System.err.println(st);  
          
        //get():返回给定日历字段的值。 
        int year = c.get(Calendar.YEAR);  
        System.err.println(year);  
          
        //set():将给定的日历字段设置为给定值 
        c.set(Calendar.YEAR, 2);  
        int y = c.get(Calendar.YEAR);  
        System.err.println(y);//输出2 
          
        //Calendar比较:before(),after(),equals(),compareTo(). 
        try{ 
     
            String startTime = "2012-12-12 12:45:39";  
            String endTime = "2012-12-12 12:45:40";  
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            Date startDate = sdf.parse(startTime);  
            Date endDate = sdf.parse(endTime);  
            Calendar start = Calendar.getInstance();  
            Calendar end = Calendar.getInstance();  
            start.setTime(startDate);  
            end.setTime(endDate);  
            if(start.before(end)){ 
     
                System.err.println("开始时间小于结束时间");  
            }else if(start.after(end)){ 
     
                System.err.println("开始时间大于结束时间");  
            }else if(start.equals(end)){ 
     
                System.err.println("开始时间等于结束时间");  
            }  
            /* * start < end 返回-1 * start = end 返回0 * start > end 返回1 */  
            int count = start.compareTo(end);  
            System.err.println(count);  
              
            //add():为给定的日历字段添加或减去指定的时间量 
            start.add(Calendar.YEAR, -3);  
            System.err.println("原来的时间:" + startTime);  
            System.err.println("add后的时间:" + sdf.format(start.getTime()));  
              
            //toString():转换为字符串 
            System.err.println(start.toString());  
        }catch(Exception e){ 
   }  
    }  
    //常用属性 
    public static void param(){ 
     
        Date date = new Date();  
        Calendar c = Calendar.getInstance();  
        c.setTime(date);  
        //Calendar.YEAR:日期中的年 
        int year = c.get(Calendar.YEAR);  
        //Calendar.MONTH:日期中的月,需要加1 
        int mounth = c.get(Calendar.MONTH) + 1;  
        //Calendar.DATE:日期中的日 
        int day = c.get(Calendar.DATE);  
        //Calendar.HOUR:日期中的小时(12小时制) 
        int hour = c.get(Calendar.HOUR);  
        //Calendar.HOUR_OF_DAY:24小时制 
        int HOUR_OF_DAY = c.get(Calendar.HOUR_OF_DAY);  
        //Calendar.MINUTE:日期中的分钟 
        int minute = c.get(Calendar.MINUTE);  
        //Calendar.SECOND:日期中的秒 
        int second = c.get(Calendar.SECOND);  
        System.err.println(year + "-" + mounth + "-" + day + " " + hour + ":" + minute + ":" + second);  
          
        //Calendar.WEEK_OF_YEAR:当前年中星期数 
        int WEEK_OF_YEAR = c.get(Calendar.WEEK_OF_YEAR);  
        //Calendar.WEEK_OF_MONTH:当前月中星期数 
        int WEEK_OF_MONTH = c.get(Calendar.WEEK_OF_MONTH);  
        //Calendar.DAY_OF_YEAR:当前年中的第几天 
        int DAY_OF_YEAR = c.get(Calendar.DAY_OF_YEAR);  
        //Calendar.DAY_OF_MONTH:当前月中的第几天 
        int DAY_OF_MONTH = c.get(Calendar.DAY_OF_MONTH);  
        //Calendar.DAY_OF_WEEK:当前星期的第几天(星期天表示第一天,星期六表示第七天) 
        int  DAY_OF_WEEK = c.get(Calendar.DAY_OF_WEEK);  
        //Calendar.DAY_OF_WEEK_IN_MONTH:当前月中的第几个星期 
        int DAY_OF_WEEK_IN_MONTH = c.get(Calendar.DAY_OF_WEEK_IN_MONTH);  
          
        try{ 
     
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
            Date ampm = format.parse("2012-12-15 21:59:59");  
            Calendar cc = Calendar.getInstance();  
            cc.setTime(ampm);  
            //AM_PM:HOUR 是在中午之前还是在中午之后,在中午12点之前返回0,在中午12点(包括12点)之后返回1 
            int AM_PM = cc.get(Calendar.AM_PM);  
        }catch(Exception e){ 
   }  
          
    }  
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/142081.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【转载】Win10强制删除文件夹

    【转载】Win10强制删除文件夹目前比较主流的Windows系统中,我们常常会遇到要对文件以及文件夹进行整理的时候,偶尔会遇到这种奇葩的问题:删除一个文件夹的时候吧,这个文件提示需要提供管理权限,问你是否继续。当点击了那个带盾牌的(就是赋予管理权限)的那个Button之后,仍然提示需要权限……简直不讲道理。因为这个东西是偶然出现的,所以这里留几个解决方法备用。1.重启重启能解决99%的问题!!!亘古不变的真理!2.修改权限右键要删除的文件,选择属性——在属性页面可以看到上方有安全权限,点击之后选择一个.

    2022年6月9日
    33
  • c语言中char类型转int类型「建议收藏」

    c语言中char类型转int类型「建议收藏」前言在九度oj做acm的时候,经常会遇到了char类型和int类型相互转化的问题,这里进行一下总结。今后,可能会多次更新博客,因为半年做了很多总结,但是都是保存在word文档上了,现在开始慢慢向CSDN博客转移。问题类型char型数字转换为int型转换方法a[i]-‘0’参考程序#include#include#includei

    2022年10月2日
    2
  • 利用python itertools对列表实现排列组合

    利用python itertools对列表实现排列组合

    2021年11月23日
    45
  • dlsym用法_DLSS模式

    dlsym用法_DLSS模式dlsymdlsym,dlvsym-从一个动态链接库或者可执行文件中获取到符号地址。用法#include<dlfcn.h>void*dlsym(void*handle,constchar*symbol);#define_GNU_SOURCE#include<dlfcn.h>void*dlvsym(void*handle,char*symbol,char*version);Linkwith-ldl.详解函数dlsym()的第

    2025年8月9日
    4
  • RabbitMQ(二):Work Queues、循环分发、消息确认、持久化、公平分发

    RabbitMQ(二):Work Queues、循环分发、消息确认、持久化、公平分发

    2021年10月5日
    38
  • 重定向与转发的区别_响应重定向和请求转发的区别

    重定向与转发的区别_响应重定向和请求转发的区别重定向和转发的区别: 重定向和转发的区别就是请求服务器几次, 如果请求服务器地址没有变说明这是一次请求请求在自己的服务器里面流转这就是转发这是服务器行为。 如果请求服务器地址变了,说明这是请求了二次,第二次请求由客户端流浪器负责,在多台服务器之间流转这就是客户端行为。 重定向: 1、重定向的速度比较慢,需要跨越服务器 2、重定向是两次不同的请求 3、重定向是执行重定向之后的代码 4、地址栏的地址是会发生变化的 5、重定向不包含项目的根目录 6、重定向是会就是.

    2025年10月6日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号