Java中Calendar的用法

首先:Calendar是一个抽象类,不可以通过new来获取一个实例,可以通过类方法getinstance()获取此类型的一个通用的对象

①用法:

Calendar lendar=Calendar.getInstance();

int year=2015;

int month=12;

int day=21;

calendar.set(year,month,day);

②获取当天的年与日:

我们可以使用此方法get()获取对应的年月日.用法如下:

(月份的获取是比实际的月份要小一个月,因此我们获取当前的月份的时候需要+1的操作 )

Calendar calendar = Calendar.getInstance();

int cur_month=calendat.get(Calendar.MONTH)+1;

int cur_year=calendar.get(Calendar.YEAR);

int cur_day=calendar.get(Calendar.DAY_OF_MONTH);

after函数跟before函数的用法当需要知道某一天的日期是否比今日的日期早或者晚之类时;可以计算出2个时间段之间的日期;

思路如下:我们利用set函数设定一个开始时间,一个结束时间,然后使用before或者after函数

//获取这个时间段内的所有日期

public static List<Data> findDates(Date  dBegin,Data dEnd)

{

  List lDate=new ArrayList();

  lDate.add(dBegin);

  Calendar calBegin=Calendar.getinstance();

  calBegin.setTime(dBegin);

  Calendar calEnd=Calendar.getinstance();

  calEnd.setTime(dEnd);

  while(dEnd.after(caBegin.getTime()))

{

    calBegin.add(Calendar.DAY_OF_MONTH,1);//?????????这里有问题待解决,Calendar的实例可以有add 函数?干啥用的?暂时不

    lDate.add(calBegin.getTime());

}

return lDate;

  

}

learn from :   http://jingyan.baidu.com/article/a3aad71acb9d89b1fa00966b.html

时间: 2024-10-05 04:43:23

Java中Calendar的用法的相关文章

关于时间,日期,星期,月份的算法(Java中Calendar的用法)(一)

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("如今时间

转- 关于时间,日期,星期,月份的算法(Java中Calendar的使用方法)

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("现在时间

关于时间,日期,星期,月份的算法(Java中Calendar的使用方法)(一)

package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void main(String[] args) { Calendar calendar=Calendar.getInstance(); calendar.setTime(new Date()); System.out.println("现在时间

java中stringBuilder的用法

java中stringBuilder的用法 String对象是不可改变的.每次使用 System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 String对象相关的系统开销可能会非常昂贵.如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类.例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder类可以提升性能. 通过用一个重载的

Java中输入的用法

Java中输入 1. 读取输入 1)构建一个Scanner,附属到System.in Scanner in = new Scanner(System.in); 此时可以使用Scanner类的各种方法来读取输入.例如:nextLine方法来读取一行输入 System.out.print("What is your name?"); String name = in.nextLine(); nextLine():    读取的一行中可能包含空格 next():           读取单个

Java中Calendar.DAY_OF_WEEK需要减一的原因

Java中对日期的处理需要用到Calendar类,其中有几个方法在使用时需要新手注意. 1. 在获取月份时,Calendar.MONTH + 1 的原因(Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值)Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,第一个月是JANUARY.而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java中返回"0",所以我们需要+1

Java中List的用法

List接口对Collection进行了简单的扩充. 它的具体实现类常用的有ArrayList和LinkedList. ArrayList从其命名中可以看出它是以一种类似数组的形式存储,因此它的随机访问速度极快,但插入和移除元素的速度很慢. LinkedList的内部实现是链表,它适合于在链表中间需要频繁进行插入和删除操作,不适合随机访问,LinkedList可以当作堆栈.队列和双向队列使用. 一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插

跟王老师学集合(十一)java中Comparator的用法

Java中Comparator的用法 主讲人:王少华  QQ群号:483773664 在java中,如果要对集合对象或数组对象进行排序,需要实现Comparator接口以达到我们想要的目标. 接下来我们模拟下在集合对象中对日期属性进行排序 一.实体类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 package chapter07_11; public class Person {     private int a

java成神之——java中string的用法

java中String的用法 String基本用法 String分割 String拼接 String截取 String换行符和format格式化 String反转字符串和去除空白字符 String获取指定位置字符和replace的使用 StringBuffer的使用 字符串转换 基本类型的转换 添加字符编码 Base64的编码和解码 结语 java中String的用法 String基本用法 字符串一旦创建在堆中就不可变 字符串声明 String str = "你好"; String s