`
cectsky
  • 浏览: 45752 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

【java】java.util.Calendar类学习

阅读更多
public abstract class Calendar implements Serializable, Cloneable{}
public static Calendar getInstance()
    {
//其实,这个方法内部也是return new GregorianCalendar(zone, aLocale);利用其具体的实现子类
        return createCalendar(TimeZone.getDefault(), Locale.getDefault());
    }


/**吗的,原来Calendar是如此的抽象,以至于我们必须要用到 GregorianCalendar(公历历法) */
public class GregorianCalendar extends Calendar{}



public static void main(String[] args) {
		Calendar c1 = Calendar.getInstance();
		System.out.println(c1.getTime());
		
		//年,月,日,时,分,秒
		Calendar c2 = new GregorianCalendar(2008,8,8,18,10,5);
		System.out.println(c2.getTime());
		
}

结果:
Mon Dec 13 11:03:59 CST 2010
Mon Sep 08 18:10:05 CST 2008

c2好像出错了,打印的是Sep 汗一个~~看源码吧
     
    public final static int JANUARY = 0;
    public final static int FEBRUARY = 1;
    public final static int MARCH = 2;
    public final static int APRIL = 3;
    public final static int MAY = 4;
    public final static int JUNE = 5;
    public final static int JULY = 6;
    public final static int AUGUST = 7;
    public final static int SEPTEMBER = 8;
    public final static int OCTOBER = 9;
    public final static int NOVEMBER = 10;
    public final static int DECEMBER = 11;
    public final static int UNDECIMBER = 12;

january是从0开始的,擦了。推荐如下方法,看起来更美观,有点像sql中的TYPE.VARCHAR
Calendar c3 = new GregorianCalendar(2008,Calendar.FEBRUARY,8,18,10,5);
System.out.println(c3.getTime());

Fri Feb 08 18:10:05 CST 2008

*
若想取第几个月,则用
Calendar c3 = new GregorianCalendar(2008,Calendar.FEBRUARY,8,18,10,5);
System.out.println(c1.get(Calendar.MONTH));

同理,上下午就是c1.get(Calendar.AM_PM);

还有一个比较实用的,与Date转化
public final Date getTime() {
        return new Date( getTimeInMillis() );
    }


补充一个add方法,就像oracle中的Add_months(d,n)一样的用法,n可正可负。
工作中写了一个简单的方法,取一个月的最后一天,思路就是下个月的第一天减去1即可。
java.util.Calendar c = new  GregorianCalendar(2010,10,01);
		c.add(Calendar.DATE, -1);
		System.out.println(c.get(Calendar.MONTH)+1);
		System.out.println(c.get(Calendar.DAY_OF_MONTH));
		System.out.println(c.get(Calendar.YEAR));
		String endDate = String.valueOf(c.get(Calendar.YEAR))+String.valueOf(c.get(Calendar.MONTH)+1)+String.valueOf(c.get(Calendar.DAY_OF_MONTH));
		System.out.println(endDate);

10
31
2010
20101031
分享到:
评论

相关推荐

    java.util.Calendar求日期

    java.util.Calendar cal = java.util.Calendar.getInstance(); System.out.println("今天的日期:" + cal.getTime()); ``` ### 本月的第一天 要获取本月的第一天,首先需要确定当前月份的第几天(`dayofmonth`)。...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    Java API中的`java.util.GregorianCalendar`类是用于处理日期和时间的重要工具,它提供了丰富的功能来满足各种日历操作需求。这个类是基于格里高利历(公历)的,是Java中最常用的日期时间类之一。在给定的压缩包...

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf

    java.sql.Timestamp timestamp = new java.sql.Timestamp(calendar.getTimeInMillis()); 四、结论 java.util.Date和java.sql.Date是两个不同的日期时间类,需要根据实际情况选择正确的使用场景。理解它们之间的...

    java时间 java.util.Calendar深入分析

    在Java编程语言中,`java.util.Calendar`是一个重要的类,用于处理日期和时间。它是一个抽象类,提供了处理各种时间单位(如年、月、日、小时等)的方法。由于`Date`类逐渐被淘汰,`Calendar`成为了处理时间的主要...

    Java Date Time教程-java.util.Date

    该类的大部分方法已不推荐使用,取而代之的是java.util.Calendar类。不过你仍然可以使用java.util.Date类去表示某个时间。下面是一个如何实例化java.util.Date的例子:  java.util.Date date = new java.util.Date...

    java.util.pdf

    标题“java.util.pdf”暗示这是一个关于Java编程语言中util包的文档。由于描述和标签均重复标题,我们可以推断文档重点在于解释和...学习和理解java.util包中的每一个类和接口,对于Java开发者来说是基础且必不可少的。

    Calendar.java

    格式与电脑日历一致,包括从1970年至今。

    java.util包

    Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构

    java四种时间的区别和联系

    本文将深入探讨`java.util.Date`、`java.util.Calendar`、`java.sql.Date`、`java.sql.Time`和`java.sql.Timestamp`这五种日期时间类之间的区别和联系。 #### 1. `java.util.Date` `java.util.Date`类是Java中表示...

    java.util包总结

    Java.util包是Java标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...

    30个常用java工具类

    16. **`java.util.Calendar`**:日历类,提供了更复杂的日期和时间操作。 17. **`java.text.SimpleDateFormat`**:格式化和解析日期和时间字符串。 18. **`java.util.Comparator`**:用于比较对象,可以自定义比较...

    最最常用的 100 个 Java类分享

    39. `java.util.Calendar`:Calendar是抽象基类,用于日期和时间的计算。 40. `android.app.Activity`:Android应用的基本单元,表示用户界面和交互。 41. `java.net.MalformedURLException`:当URL格式不正确时抛...

    java工具类.zip

    `java.util.concurrent`包中包含许多线程相关的工具类,如ExecutorService、Future、Callable等,这些类和接口为并发编程提供了高效的支持,帮助开发者管理线程和任务执行。 5. **泛型**: 泛型是Java SE 5引入的...

    JAVA时间格式化处理[参考].pdf

    JAVA 中的日期和时间处理主要通过 java.util.Date 类和 java.util.Calendar 类来实现。java.util.Date 类是 JAVA 中的基本日期类,它可以用来获取当前的日期和时间。java.util.Calendar 类是 JAVA 中的日历类,它...

    java连接数据库.doc

    首先,JDK 1.1之后,`java.util.Date`类的多数方法被弃用,推荐使用`java.util.Calendar`类来处理日期和时间。`Calendar`类提供了更为灵活的操作,例如获取年、月、日、小时等信息。例如,以下代码创建了一个`...

    Java中Calendar类.pdf

    calendar.set(Calendar.MONTH, Calendar.DECEMBER); ``` `Calendar`类还提供了获取字段值的方法`get(int field)`,可以获取年、月、日等字段的当前值。例如: ```java int year = calendar.get(Calendar.YEAR); ...

    java工具类

    25. **`java.util.Calendar`**:旧版的日历类,可以处理复杂的日期和时间计算。 26. **`java.nio.file.Files`** 和 **`java.nio.file.Paths`**:Java NIO(非阻塞I/O)提供的文件操作工具。 27. **`java.util....

Global site tag (gtag.js) - Google Analytics