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

Hostodo:$19.99/年KVM-1GB/12GB/4TB/拉斯维加斯

Hostodo发布了几款采用NVMe磁盘的促销套餐,从512MB内存起,最低年付14.99美元,基于KVM架构,开设在拉斯维加斯机房。这是一家成立于2014年的国外VPS主机商,主打低价VPS套餐且年付为主,基于OpenVZ和KVM架构,产品性能一般,数据中心目前在拉斯维加斯和迈阿密,支持使用PayPal或者支付宝等付款方式。下面列出几款NVMe硬盘套餐配置信息。CPU:1core内存:512MB...

域名注册需要哪些条件(新手注册域名考虑的问题)

今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...

hosteons:10Gbps带宽,免费Windows授权,自定义上传ISO,VPS低至$21/年,可选洛杉矶达拉斯纽约

hosteons当前对美国洛杉矶、达拉斯、纽约数据中心的VPS进行特别的促销活动:(1)免费从1Gbps升级到10Gbps带宽,(2)Free Blesta License授权,(3)Windows server 2019授权,要求从2G内存起,而且是年付。 官方网站:https://www.hosteons.com 使用优惠码:zhujicepingEDDB10G,可以获得: 免费升级10...

javacalendar为你推荐
snake模型什么是S-L头模型?最好的翻译网站求最好的翻译网站和软件excel大写金额在Excel中如何输入数字直接显示大写金额?renderpartialrenderHtml和render有什么区别暴力破解rar对RAR压缩包进行解压时需要密码,使用暴力破解仍无法解码该怎么办?无处不在的意思,幸福无处不在,最适合才是最好是什么意思broadcast播播……拼音动画分镜头脚本请问什么是动画分镜头脚本,什么是电影分镜头脚本以及什么是广告分镜头脚本?gbk内码怎么查GBK内码?泛微协同办公系统谁能告诉我泛微OA,协同性是体现在哪几个方面的?泛微有哪些优势??
php主机租用 免费注册网站域名 域名停靠一青草视频 万网免费域名 美国主机评论 国内加速器 gg广告 京东商城0元抢购 seednet 服务器托管什么意思 国外免费asp空间 万网主机管理 杭州电信宽带优惠 supercache 阿里dns 深圳主机托管 windowsserver2008r2 server2008 tko linuxvi命令 更多