Calendar 对象的使用实例

1.Calendar demo例子

JavaCalendar 类时间操作,示范代码。

public class CalendarDemo {
    private static SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    public static void main(String[] args) {   

        //获取calendar实例;
        Calendar calendar = Calendar.getInstance();   

        //判断calendar是不是GregorianCalendar类的实例;
        if(calendar instanceof GregorianCalendar){
            System.out.println("属于GregorianCalendar类的实例!");
        }   

        //从calendar对象中获得date对象,当前时间;
        Date dates =  calendar.getTime();   

        //格式化时间;
        String date_str= date_format.format(dates);
        System.out.println(date_str);   

        //设置月份05;代表日历的月份6月,因为月份从0开始。
        calendar.set(Calendar.MONTH, 05);   

        int months = calendar.get(Calendar.MONTH);
        System.out.println(months);  //输出05;   

        //设置日期为2011-07-24 09:59:50
        calendar.set(2011, 06, 24, 9, 59, 50);
        String getDate = date_format.format(calendar.getTime());
        System.out.println(getDate);   //输出2011-07-24 09:59:50;   

        //比较日前大小;
        if(new Date().getTime() > calendar.getTimeInMillis()){
            System.out.println("当前日期在后!");
        }else{
            System.out.println("当前日期在前!");
        }   

        //设置当前时间为:2011-07-24 11:06:00
        calendar.setTime(new Date());
        int year   = calendar.get(Calendar.YEAR);   //获取年;
        int month  = calendar.get(Calendar.MONTH);  //获取月;
        int date   = calendar.get(Calendar.DATE);   //获取天;
        int hour   = calendar.get(Calendar.HOUR);   //获取小时;
        int minute = calendar.get(Calendar.MINUTE); //获取分钟;
        int second = calendar.get(Calendar.SECOND); //获取秒钟;
        int hour_of_day = calendar.get(Calendar.HOUR_OF_DAY);    //第几个小时,
        int day_of_month  = calendar.get(Calendar.DAY_OF_MONTH); //这天,在一个月内是第几天.
        int day_of_week = calendar.get(Calendar.DAY_OF_WEEK);    //这天,在一周内,是第几天.
        int day_of_year = calendar.get(Calendar.DAY_OF_YEAR);    //这天,在一年内,是第几天。
        int week_of_year = calendar.get(Calendar.WEEK_OF_YEAR);  //这周,在一年内是第几周;
        int week_of_month = calendar.get(Calendar.WEEK_OF_MONTH);//这周,在这个月是第几周;以以星为标准;
        int zone_offset = calendar.get(Calendar.ZONE_OFFSET);    //获取时区;
        int day_of_week_in_month = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);  //某月中第几周,按这个月1号算,1号起就是第1周,8号起就是第2周。以月份天数为标准
        int r = calendar.get(Calendar.AM_PM);
        if(r==calendar.AM){
            System.out.println("现在是上午");
        }   

        if(r==calendar.PM){
            System.out.println("现在是下午");
        }
        System.out.println("==================================================");
        System.out.println(year);
        System.out.println(month);
        System.out.println(date);
        System.out.println(hour);
        System.out.println(minute);
        System.out.println(second);
        System.out.println(hour_of_day);
        System.out.println(day_of_month);
        System.out.println(day_of_week);
        System.out.println(day_of_year);
        System.out.println(week_of_year);
        System.out.println(week_of_month);
        System.out.println(zone_offset);
        System.out.println(day_of_week_in_month);
    }
}

2.项目中应用

@RequestMapping(method = RequestMethod.GET, produces = { "application/json" })
    @ResponseBody
    public ListWithTotalCount<AuctionsDTO> aucLotQuery(@ModelAttribute("selectedAgency") SysAgencyDto selectedAgency,
        int page, int rows, String order, String sort) {
        Pageable pageable;
        String agencyId = selectedAgency.getId().toString();

        if (sort != null && !sort.isEmpty()) {
            pageable = new PageRequest(page - 1, rows, Direction.fromStringOrNull(order), sort);
        } else {
            pageable = new PageRequest(page - 1, rows);
        }

        Calendar cal = Calendar.getInstance();
        cal.set(Calendar.HOUR_OF_DAY, 0);
        cal.set(Calendar.MINUTE, 0);
        cal.set(Calendar.SECOND, 0);
        cal.set(Calendar.MILLISECOND, 0);
        Date less = cal.getTime();
        cal.set(Calendar.HOUR_OF_DAY, 23);
        cal.set(Calendar.MINUTE, 59);
        cal.set(Calendar.SECOND, 59);
        cal.set(Calendar.MILLISECOND, 999);
        Date great = cal.getTime();
        Specification<Auction> spec = (root, query, cb) -> {
            List<Predicate> predicates = new ArrayList<Predicate>();

            if (agencyId != null && !agencyId.isEmpty() && !"0".equals(agencyId)) {
                Predicate predicate = cb.equal(root.get(Auction_.agencyId), agencyId);
                predicates.add(predicate);
            }

            Predicate published = cb.equal(root.get(Auction_.isPublished), Auction.AUCLOT_ISPUBLISHED_FINISH);
            predicates.add(published);
        //获取当天的检索条件
            Predicate time =cb.between(root.get(Auction_.startTime),less,great);
            predicates.add(time);

            return cb.and(predicates.toArray(new Predicate[0]));
        };

        Page<Auction> pageresult = auctionRepository.findAll(spec, pageable);
        List<AuctionsDTO> dtoList = (new AuctionsDTOAssembler()).toDTOList(pageresult.getContent());

        return new ListWithTotalCount<AuctionsDTO>(dtoList, (int) pageresult.getTotalElements());
    }
时间: 2024-10-12 15:44:44

Calendar 对象的使用实例的相关文章

session 对象的简单实例

一个session对象的简单实例: 1.登录界面:使用简单的html表单提交界面. <%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "ht

[转]关于Unity3D对象和脚本实例调用的顺序探究

http://blog.csdn.net/liangzg_2011/article/details/8150844 关于Unity3D对象和脚本实例调用的顺序探究 我们先来看一些有趣Unity实例顺序的小实验.有图有真相!! 注:以上打印的代码语句如下: [csharp] view plaincopy <span style="font-size:18px;">    void Start () { print("-----" + this.transf

C#通过对象类型创建对象实例的代码

下边代码内容是关于C#通过对象类型创建对象实例的代码. object[] paramObject = new object[] {}; object obj = Activator.CreateInstance(type, paramObject); 或者 string className = "MyType";MyType myType = (MyType) Activator.CreateInstance(Type.GetType(className), new object[]{

【Python】[面性对象编程] 获取对象信息,实例属性和类属性

获取对象信息1.使用isinstance()判断class类型2.dir() 返回一个对象的所有属性和方法3.如果试图获取不存在的对象会抛出异常[AttributeError]4.正确利用对象内置函数的例子: def readImage(fp): if hasattr(fp,"read"): return readData(fp) return None 实例属性和类属性1.一句话,Python是动态语言,根据类创建的实例可以任意绑定属性.    注意:实例属性和雷属性的名字要保持不一

spring 对象的单实例和多实例

(转载) 单例和多例的区别 : 单例多例需要搞明白这些问题:      1. 什么是单例多例:      2. 如何产生单例多例:      3. 为什么要用单例多例      4. 什么时候用单例,什么时候用多例:   1. 什么是单例.多例: 所谓单例就是所有的请求都用一个对象来处理,比如我们常用的service和dao层的对象通常都是单例的,而多例则指每个请求用一个新的对象来处理,比如action; 单例模式和多例模式说明: 1. 单例模式和多例模式属于对象模式. 2. 单例模式的对象在整

深入解析类对象与类实例的创建过程

class MyType(type): def __init__(self,*args,**kwargs): print("init") super(MyType, self).__init__(*args,**kwargs) def __new__(cls, *args, **kwargs): print("new") print("mro",cls.__mro__) # 调用父类的__new__ 方法来实例出一个Base类对象 return

双进程守护?内核对象?单实例....?抱歉会进程挂起...抱歉我还有HOOK....

那时候总会问自己,这次写的驱动,用Windbg调试过吗? 写SsdtHook,手动找过吗?写ObjectHook知道对象结构吗?用FS寄存器获取信息?为什么能获取那么多的信息?,_kpcr与他有什么关系?要从那次学习双进程守护说起,也算小半年以前的事情了.不懂互斥体.不懂事件.信号量等机制,你就说用互斥体.事件写双进程守护?科普:当年自学操作系统的时候不懂,慢慢的也就懂了.穿孔器.纸卡带的年代只有程序,为了解决人与CPU的交互效率低下,单批道处理器当年就出现了.但是仍然满足不了需求,这时候多批道

浅谈JS中的构造函数、原型对象(prototype)、实例中的属性/方法之间的关系

原文链接:https://segmentfault.com/a/1190000016951069 构造函数:函数中的一种,通过关键字new可以创建其实例.为了便于区分,通常首字母大写:原型对象:一种特殊的对象,构造函数创建时自动生成:与构造函数形成一一对应,如同人和影子般的关系:实例:通过构造函数实例出来的对象: 在定义构造函数时,在其内部(“{“和”}”)进行定义属性和方法.当我们通过关键字new,对构造函数进行实例化的时候.实例会对构造函数的这些属性进行拷贝出一份副本,然后将其归属为当前实例

自定义对象内容及实例,适合初学者

[自定义对象] 1.基本概念 ①对象是拥有一系列无序属性和方法的集合: ②键值对,对象中的数据,是以键值对的形式存在,对象的每个属性和方法,都对应一个键名,以键取值. ③属性:描述对象特征的一系列变量,称为属性. ④方法,描述对象行为的一系列函数,称为方法. 2.对象的声明 var obj ={ key1:value1, key2:value2, func1:function(){ } } 对象中的数据以键值对的形式存储,键与键值之间用:分隔,多个键值对之间用,分隔 对象中的键,可以是出了数组,