`
cectsky
  • 浏览: 44745 次
  • 性别: 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时间 java.util.Calendar深入分析

    主要介绍了java时间 java.util.Calendar深入分析的相关资料,需要的朋友可以参考下

    Java Date Time教程-java.util.Date

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

    Calendar.java

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

    java.util.Calendar求日期

    今天日期,本月第一天,本月最后一天,本周一,本周日的日期

    java.util包

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

    java 时间转换工具

    2.支持java.util.Calendar,java.util.Date,java.sql.Date格式化输出 3.支持字符串转java.util.Date 支持字符串格式: yyyyMMdd yyyyMMddHH yyyyMMddHHmm yyyyMMddHHmmss yyyy-MM-dd yyyy.MM.dd yyyy/MM/dd yyyy ...

    JSON序列化与反序列化JAVA工具

    ji起始时间_i = java.util.Calendar.getInstance().getTimeInMillis(); for (ji_i = 0; ji_i ; ji_i++) { ajson = (com.alibaba.fastjson.JSONObject) a1json.clone(); ajson.put("a1", d1.nextDouble()); a...

    毕业设计&课设-Umm Al Qura日历系统的java.util.Calendar实现。.zip

    毕业设计、课程设计源码文件,已经过测试可以直接使用。毕业设计、课程设计源码文件,已经过测试可以直接使用。毕业设计、课程设计源码文件,已经过测试可以直接使用。毕业设计、课程设计源码文件,已经过测试可以...

    xfire测试项目(包括复杂数据类型)

    public java.util.Calendar getCalendar(java.util.Calendar a); public java.sql.Timestamp getTimestamp(java.sql.Timestamp a); public java.sql.Date getSDate(java.sql.Date a); public java.sql.Time getTime...

    智能识别收货地址Java.pdf

    智能识别收货地址Java import java.io.BufferedReader; import java.io.... Calendar cd = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Lo

    编写一个java应用程序将一个包含多个子目录和文件的目录复制到另外一个指定的目录下

    import java.util.Calendar; import java.util.Date; import javax.swing.filechooser.FileFilter; 实验后的结果验证 总结体会 通过此次实验,我初步掌握了复制的目录中包含的文件数和子目录层次未知,以及必须在...

    java四种时间的区别和联系

    java.util.Date, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp区别和联系

    java.util 包 是Java中很大的一个集合

    运用下列类进行JAVA编程: Date Calendar Random 使用 Collection 接口及其实现类 ArrayList LinkedList 使用 HashMap 使用Vector 等方法的使用

    JSON序列化及反序列化工具

    ji起始时间_i = java.util.Calendar.getInstance().getTimeInMillis(); for (ji_i = 0; ji_i ; ji_i++) { ajson = (com.alibaba.fastjson.JSONObject) a1json.clone(); ajson.put("a1", d1.nextDouble()); a...

    Java课程设计案例经编

    import java.util.Calendar; class TestClassCalendar{ public static void main(String args[]){ Calendar mycalendar1 = Calendar.getInstance(); System.out.println("今日日期: "); System.out....

    Java课程设计案例精编

    import java.util.Calendar; class TestClassCalendar{ public static void main(String args[]){ Calendar mycalendar1 = Calendar.getInstance(); System.out.println("今日日期: "); System.out....

    java 注册码生存文件

    java 注册码生存文件 ... java.util.Calendar cal = java.util.Calendar.getInstance(); cal.add(1, 3); cal.add(6, -1); java.text.NumberFormat nf = new java.text.DecimalFormat("000");

    java定时器

    java定时器,import java.util.Calendar; import java.util.Date; import java.util.Timer; import java.util.TimerTask; 规定每天几点执行一次

    java 中时间和日期处理的小记

    时间和日期中常用到的几个类: java.util.Date, java.util.Calendar, java.util.GregorainCalendar, java.text.DateFormat, java.text.SimpleDateFormat

    java日期处理总结

    java中关于日期处理的...java.util.Calendar(抽象类) java.util.GregorianCalendar(是Calendar的子类,日期处理时候经常使用该类)***** java.text.DateFormat(抽象类) java.text.SimpleDateFormat(是DateFormat的子类,

Global site tag (gtag.js) - Google Analytics