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 cal = java.util.Calendar.getInstance(); System.out.println("今天的日期:" + cal.getTime()); ``` ### 本月的第一天 要获取本月的第一天,首先需要确定当前月份的第几天(`dayofmonth`)。...
Java API中的`java.util.GregorianCalendar`类是用于处理日期和时间的重要工具,它提供了丰富的功能来满足各种日历操作需求。这个类是基于格里高利历(公历)的,是Java中最常用的日期时间类之一。在给定的压缩包...
java.sql.Timestamp timestamp = new java.sql.Timestamp(calendar.getTimeInMillis()); 四、结论 java.util.Date和java.sql.Date是两个不同的日期时间类,需要根据实际情况选择正确的使用场景。理解它们之间的...
在Java编程语言中,`java.util.Calendar`是一个重要的类,用于处理日期和时间。它是一个抽象类,提供了处理各种时间单位(如年、月、日、小时等)的方法。由于`Date`类逐渐被淘汰,`Calendar`成为了处理时间的主要...
该类的大部分方法已不推荐使用,取而代之的是java.util.Calendar类。不过你仍然可以使用java.util.Date类去表示某个时间。下面是一个如何实例化java.util.Date的例子: java.util.Date date = new java.util.Date...
标题“java.util.pdf”暗示这是一个关于Java编程语言中util包的文档。由于描述和标签均重复标题,我们可以推断文档重点在于解释和...学习和理解java.util包中的每一个类和接口,对于Java开发者来说是基础且必不可少的。
格式与电脑日历一致,包括从1970年至今。
Java提供日期(Data)类、日历(Calendar)类,随机数(Random)类,堆栈(Stack)、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等类来表示相应的数据结构
本文将深入探讨`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标准库中的核心包之一,它包含了大量用于日常编程的工具类和接口。这个包在Java 2版本中得到了显著增强,引入了许多重要的数据结构和算法,为Java程序员提供了更丰富的功能。 首先,Java.util包中...
16. **`java.util.Calendar`**:日历类,提供了更复杂的日期和时间操作。 17. **`java.text.SimpleDateFormat`**:格式化和解析日期和时间字符串。 18. **`java.util.Comparator`**:用于比较对象,可以自定义比较...
39. `java.util.Calendar`:Calendar是抽象基类,用于日期和时间的计算。 40. `android.app.Activity`:Android应用的基本单元,表示用户界面和交互。 41. `java.net.MalformedURLException`:当URL格式不正确时抛...
`java.util.concurrent`包中包含许多线程相关的工具类,如ExecutorService、Future、Callable等,这些类和接口为并发编程提供了高效的支持,帮助开发者管理线程和任务执行。 5. **泛型**: 泛型是Java SE 5引入的...
JAVA 中的日期和时间处理主要通过 java.util.Date 类和 java.util.Calendar 类来实现。java.util.Date 类是 JAVA 中的基本日期类,它可以用来获取当前的日期和时间。java.util.Calendar 类是 JAVA 中的日历类,它...
首先,JDK 1.1之后,`java.util.Date`类的多数方法被弃用,推荐使用`java.util.Calendar`类来处理日期和时间。`Calendar`类提供了更为灵活的操作,例如获取年、月、日、小时等信息。例如,以下代码创建了一个`...
calendar.set(Calendar.MONTH, Calendar.DECEMBER); ``` `Calendar`类还提供了获取字段值的方法`get(int field)`,可以获取年、月、日等字段的当前值。例如: ```java int year = calendar.get(Calendar.YEAR); ...
25. **`java.util.Calendar`**:旧版的日历类,可以处理复杂的日期和时间计算。 26. **`java.nio.file.Files`** 和 **`java.nio.file.Paths`**:Java NIO(非阻塞I/O)提供的文件操作工具。 27. **`java.util....