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

UCloud新人优惠中国香港/日本/美国云服务器低至4元

UCloud优刻得商家这几年应该已经被我们不少的个人站长用户认知,且确实在当下阿里云、腾讯云服务商不断的只促销服务于新用户活动,给我们很多老用户折扣的空间不多。于是,我们可以通过拓展选择其他同类服务商享受新人的福利,这里其中之一就选择UCloud商家。UCloud服务商2020年创业板上市的,实际上很早就有认识到,那时候价格高的离谱,谁让他们只服务有钱的企业用户呢。这里希望融入到我们大众消费者,你...

gcorelabs远东khabarovsk伯力Cloud云服务器测评,告诉你gcorelabs云服务器怎么样

说明一下:gcorelabs的俄罗斯远东机房“伯力”既有“Virtual servers”也有“CLOUD SERVICES”,前者是VPS,后者是云服务器,不是一回事;由于平日大家习惯把VPS和云服务器当做一回事儿,所以这里要特别说明一下。本次测评的是gcorelabs的cloud,也就是云服务器。 官方网站:https://gcorelabs.com 支持:数字加密货币、信用卡、PayPal...

提速啦:美国多IP站群云服务器 8核8G 10M带宽 7IP 88元/月

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

javacalendar为你推荐
订房系统求酒店开房系统财务系统软件2020年有什么好用的财务软件?旺旺群发软件旺旺群发器哪种好使用youtube创始人我的世界captainsparklez是谁ico监管新加坡代币ICO备案怎么做sdfsdfsdfsdf世界上最大的一块金砖有多重?上行宽带上行宽带和下行宽带什么意思特斯拉model3降价小鹏P7和特斯拉Model 3,买哪个更加划算?backupexecBackup Exec 2014怎么备份Exchangeacceptchangeswinform 怎样把DataTable 中的值插入到数据库中
免费申请域名和空间 2014年感恩节 mediafire下载 搜狗抢票助手 网站实时监控 日本空间 镇江联通宽带 彩虹ip 100m空间 699美元 国外免费asp空间 免费phpmysql空间 双线机房 腾讯总部在哪 免费的asp空间 永久免费空间 免费个人主页 测试网速命令 godaddy空间 wordpress空间 更多