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(); } }

印象云七夕促销,所有机器7折销售,美国CERA低至18元/月 年付217元!

印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...

美国高防云服务器 1核 1G 26元/月 香港/日本站群服务器 E5 16G 1600元/月 触摸云

触摸云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超8年运营 。本次为大家带来的是双12特惠活动,美国高防|美国大宽带买就可申请配置升档一级[CPU内存宽带流量选一]升档方式:CPU内存宽带流量任选其一,工单申请免费升级一档珠海触摸云科技有限公司官方网站:https://cmzi.com/可新购免费升档配置套餐:地区CPU内存带宽数据盘价格购买地址美国高防 1核 1G10M20G 26...

Virtono:圣何塞VPS七五折月付2.2欧元起,免费双倍内存

Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...

javacalendar为你推荐
c语言论坛求C语言学习的论坛,或者网站,谢谢4k超高清视频下载为新手推荐几个获取4K片源的途径scriptmanagerajax ToolkitScriptManager与ScriptManager的区别网络视频下载器万能网络视频下载器 1.34怎么用oledbdatareader根据输入信息读取数据库中的数据,总是在执行OleDbDataReader reader = cmd.ExecuteReader()时通不过,漏洞查询如何查找漏洞 从那做起java程序员招聘★JAVA软件工程师工资待遇怎样腾讯合作伙伴大会腾讯的合作伙伴都有在线沟通网络沟通的问题有哪些泛微协同办公系统谁能告诉我泛微OA,协同性是体现在哪几个方面的?泛微有哪些优势??
com域名注册 80vps softlayer Vultr 42u机柜尺寸 sub-process 圣诞节促销 500m空间 灵动鬼影 电子邮件服务器 bgp双线 asp免费空间申请 ntfs格式分区 免费活动 域名和空间 hdd 免费邮件服务器 域名与空间 百度云加速 东莞主机托管 更多