javacalendar求java中Calendar类的用法例子(并附每条注释)

javacalendar  时间:2021-06-26  阅读:()

做一个JAVA日历

你使用java.util.Calendar吧,可以加减年、月、天等操作,你要连续的几个月,那只要连续加一个月,得到一个新的date。

然后用你写好的输出数组的方法运算就可以了。

这只是思路,还是需要你调整一下的。

关于java.util.Calendar的一点儿疑惑,请高手作答。

Calendar.THURSDAY Calendar.DAY_OF_MONTH Calendar.JUNE 这三个确实都是5,调用返回的结果也肯定跟直接调用cal.get(5)一样,这是因为: public int get(int field) 返回给定日历字段的值。

field - 给定的日历字段。

Calendar.THURSDAY和Calendar.JUNE这两个根本不是字段,是字段的值,换句话说, Calendar.THURSDAY的说明是指示 Thursday 的 DAY_OF_WEEK 字段值。

也就是你调用cal.get(Calendar.DAY_OF_WEEK)可能会返回这个值。

总之,调用cal.get(Calendar.THURSDAY)和cal.get(Calendar.JUNE)是没有意义的,返回的都是cal.get(Calendar.DAY_OF_MONTH) 可以把Calendar看做是一个日期,你只会说我想获得这个日期是哪年、哪月、哪日、周几等。

比如你问Calendar是周几,它会回答你一个数值,而java是这么设计的,从1-7代表周日到周一,因为这个方法返回的是int类型。

而5代表周四,所以就定义了一个常量THURSDAY=5. 实际你传入Calendar.THURSDAY从某种意义上讲是不合法的,只不过他的值恰巧与Calendar.DAY_OF_WEEK相同而已。

java calendar 时间

1、计算某一月份的最大天数 Calendar?time=Calendar.getInstance();? time.clear();? time.set(Calendar.YEAR,year);? time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0???????????? intday=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间。

2、Calendar和Date的转化 (1) Calendar转化为Date Calendar?cal=Calendar.getInstance(); Date?date=cal.getTime();(2) Date转化为Calendar Date?date=new?Date(); Calendar?cal=Calendar.getInstance(); cal.setTime(date);3、格式化输出日期时间 Date?date=new?Date(); SimpleDateFormat?df=new?SimpleDateFormat("yyyy-MM-dd?hh:mm:ss"); System.out.println(df.format(date));4、计算一年中的第几星期 (1)计算某一天是一年中的第几星期 Calendar?cal=Calendar.getInstance(); cal.set(Calendar.YEAR,?2006); cal.set(Calendar.MONTH,?8); cal.set(Calendar.DAY_OF_MONTH,?3); int?weekno=cal.get(Calendar.WEEK_OF_YEAR);(2)计算一年中的第几星期是几号 SimpleDateFormat?df=new?SimpleDateFormat("yyyy-MM-dd"); Calendar?cal=Calendar.getInstance(); cal.set(Calendar.YEAR,?2006); cal.set(Calendar.WEEK_OF_YEAR,?1); cal.set(Calendar.DAY_OF_WEEK,?Calendar.MONDAY); System.out.println(df.format(cal.getTime()));

求java中Calendar类的用法例子(并附每条注释)

Calendar类(理解) Calendar类是采用手工的方式取得日期,可以通过此类精确到毫秒,此类的定义如下: public abstract class Calendar extends Object implements Serializable, Cloneable, Comparable 这个类本身是一个抽象类,抽象类要想实例化肯定使用子类:GregorianCalendar .lxh.api.datedemo; import java.util.Calendar; import java.util.GregorianCalendar; public class CalendarDemo { public static void main(String[] args) { Calendar calendar = new GregorianCalendar(); System.out.println("YEAR: " + calendar.get(Calendar.YEAR)); System.out.println("MONTH: " + (calendar.get(Calendar.MONTH) + 1)); System.out.println("DATE: " + calendar.get(Calendar.DATE)); System.out .println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY)); System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE)); System.out.println("SECOND: " + calendar.get(Calendar.SECOND)); System.out .println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND)); } } 但是现在有一个问题,如果每次取时间都按照这种方式取的话,那么得累死,那么能不能设计一个类,可以通过此 类直接取得时间呢,例如:现在给出了如下的一个接口: .lxh.api.datedemo; public interface DateTime { /** *取得日期 * @return 日期的字符串,例如:2009-12-22 */ public String getDate() ; /** *取得日期时间 * @return 日期时间的字符串,例如:2009-12-22 11:06:23.345 */ public String getDateTime() ; /** *取得时间戳 * @return 返回时间戳的字符串,例如:20091222110623345 */ public String getTimeStamp() ; } 前面需要补0的问题需要注意,例如:01。

.lxh.api.datedemo; import java.util.Calendar; import java.util.GregorianCalendar; public class DateTimeImpl implements DateTime { private Calendar calendar; public DateTimeImpl() { this.calendar = new GregorianCalendar(); } public String getDate() { StringBuffer buf = new StringBuffer(); buf.append(calendar.get(Calendar.YEAR)).append("-"); buf.append(this.addZero((calendar.get(Calendar.MONTH) + 1), 2)).append("-"); buf.append(this.addZero(calendar.get(Calendar.DATE), 2)); return buf.toString(); } public String getDateTime() { StringBuffer buf = new StringBuffer(); buf.append(calendar.get(Calendar.YEAR)).append("-"); buf.append(this.addZero((calendar.get(Calendar.MONTH) + 1), 2)).append("-"); buf.append(this.addZero(calendar.get(Calendar.DATE), 2)).append(" "); buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY), 2)).append(":") ; buf.append(this.addZero(calendar.get(Calendar.MINUTE), 2)).append(":") ; buf.append(this.addZero(calendar.get(Calendar.SECOND), 2)).append(".") ; buf.append(this.addZero(calendar.get(Calendar.MILLISECOND), 3)) ; return buf.toString(); } @Override public String getTimeStamp() { StringBuffer buf = new StringBuffer(); buf.append(calendar.get(Calendar.YEAR)); buf.append(this.addZero((calendar.get(Calendar.MONTH) + 1), 2)); buf.append(this.addZero(calendar.get(Calendar.DATE), 2)); buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY), 2)); buf.append(this.addZero(calendar.get(Calendar.MINUTE), 2)) ; buf.append(this.addZero(calendar.get(Calendar.SECOND), 2)) ; buf.append(this.addZero(calendar.get(Calendar.MILLISECOND), 3)) ; return buf.toString(); } private String addZero(int num, int len) { StringBuffer buf = new StringBuffer(); buf.append(num); while (buf.length() < len) { buf.insert(0, 0); } return buf.toString(); } }

CloudCone2核KVM美国洛杉矶MC机房机房2.89美元/月,美国洛杉矶MC机房KVM虚拟架构2核1.5G内存1Gbps带宽,国外便宜美国VPS七月特价优惠

近日CloudCone发布了七月的特价便宜优惠VPS云服务器产品,KVM虚拟架构,性价比最高的为2核心1.5G内存1Gbps带宽5TB月流量,2.89美元/月,稳定性还是非常不错的,有需要国外便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开...

LOCVPS:美国XEN架构VPS七折,全场八折,日本/新加坡XEN架构月付29.6元起

LOCVPS发来了针对XEN架构VPS的促销方案,其中美国洛杉矶机房7折,其余日本/新加坡/中国香港等机房全部8折,优惠后日本/新加坡机房XEN VPS月付仅29.6元起。这是成立较久的一家国人VPS服务商,目前提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建...

ShockHosting($4.99/月),东京机房 可享受五折优惠,下单赠送10美金

ShockHosting商家在前面文章中有介绍过几次。ShockHosting商家成立于2013年的美国主机商,目前主要提供虚拟主机、VPS主机、独立服务器和域名注册等综合IDC业务,现有美国洛杉矶、新泽西、芝加哥、达拉斯、荷兰阿姆斯特丹、英国和澳大利亚悉尼七大数据中心。这次有新增日本东京机房。而且同时有推出5折优惠促销,而且即刻使用支付宝下单的话还可获赠10美金的账户信用额度,折扣相比之前的常规...

javacalendar为你推荐
createfile失败CreateFile失败,代码5拒绝访问(高分在线求助!!!)youtube创始人比特币创始人到底是谁代发邮件我想做邮件代发,怎么做效果好?shoujiao黑鲨手机SKW一AO怎么解锁?cursorlocation如何用ENVI把不同图像中的相同地点的某个像素点的值读出来。按时间把这个点的值连起来,。谢谢好人。distinct是什么意思SQL数据库DISTINCT是什么意思学习黑客技术怎样学习黑客?学习黑客技术应该从什么开始?biodigital美容仪器上的BIO功能是什么意思?ps文字处理ps中怎么处理文字?oraclesequence用pl sql为oracle表创建sequence有什么用 怎么创建?
香港加速器 hkbn jsp主机 softbank官网 iisphpmysql ibrs 华为4核 台湾谷歌网址 北京双线机房 微软服务器操作系统 shopex主机 彩虹云 空间登录首页 lamp什么意思 lamp兄弟连 徐州电信 七牛云存储 网络速度 乐视会员免费领取 ncp是什么 更多