`
djun100
  • 浏览: 163724 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Java中Calendar.DAY_OF_WEEK需要减一的原因

 
阅读更多

Java中对日期的处理需要用到Calendar类,其中有几个方法在使用时需要新手注意。

1. 在获取月份时,Calendar.MONTH + 1 的原因
Java中的月份遵循了罗马历中的规则:当时一年中的月份数量是不固定的,第一个月是JANUARY。而Java中Calendar.MONTH返回的数值其实是当前月距离第一个月有多少个月份的数值,JANUARY在Java中返回“0”,所以我们需要+1。

2. 在获取星期几 Calendar.DAY_OF_WEEK – 1 的原因
Java中Calendar.DAY_OF_WEEK其实表示:一周中的第几天,所以他会受到<wbr><span style="margin:0px; padding:0px; border:0px; outline:0px">第一天是星期几</span><wbr>的影响。<br> 有些地区以星期日作为一周的第一天,而有些地区以星期一作为一周的第一天,这2种情况是需要区分的。<br> 看下表的返回值</wbr></wbr>

星期日为一周的第一天 SUN MON TUE WED THU FRI SAT
DAY_OF_WEEK返回值 1 2 3 4 5 6 7
星期一为一周的第一天 MON TUE WED THU FRI SAT SUN
DAY_OF_WEEK返回值 1 2 3 4 5 6 7

所以Calendar.DAY_OF_WEEK需要根据本地化设置的不同而确定是否需要 “-1”
Java中设置不同地区的输出可以使用 Locale.setDefault(Locale.地区名) 来实现。

3. 获取日期时 Calendar.DAY_OF_MONTH 不需要特殊的操作,他直接返回一个月中的第几天

分享到:
评论

相关推荐

    java 获取时间 本周本年本月第一天最后一天

    c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday System.out.println(c.getTime()); c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday //本周第一天,以星期日开始 。。。...

    java时间处理工具类--CalendarUtil(java源码)

    int first_day_of_week = now.get(Calendar.DATE) + 2 - today; // 星期一 now.set(Calendar.DATE, first_day_of_week); return now.getTime(); } /** * 获得所在星期的最后一天 */ public static ...

    java时间处理工具类--DateUtils

    cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); cal.add(Calendar.DAY_OF_MONTH, 6); return cal.getTime(); } /** * 获取指定时间范围的第一天 * * @param dateRangeType * 时间范围类型 * ...

    calendar.java

    通过Calendar对象的get(Calendar.DAY_OF_WEEK)方法可以获得Calendar对象为星期几(星期天为1,星期六为7)。 注意: Calendar中的月份从0开始(1月为0,12月为11),日期从1开始(1日为1,28日为28); 12生肖的...

    jar编写的日程管理系统

    int i=calendar.get(Calendar.DAY_OF_WEEK)-1; if(i==0) i=7; return i; } static boolean in_term(Date date){ int[] term=WeekInfStore.get_term_date(); Calendar c1=Calendar.getInstance()...

    java时间格式大全(算法源码)

    java时间格式大全(算法源码) java,date,时间,时间格式,算法源码 * * @return */ public static String getTimeShort() { SimpleDateFormat formatter = new ... if (cal1.get(Calendar.WEEK_OF_YEAR) == ...

    界面标准的JAVA日历记事本

    在得到日期的同时判断DAY OF WEEK星期几,在窗体上显示 5为各个按钮及标签添加监听 通过ActionPerform MousePressed实现其动作 6 保存日志 显示日志及删除日志,总过创建哈希表来进行文件的读写

    ZendFramework中文文档

    3.2.2. 高级使用:持久一个 DbTable 结果对象 3.2.3. 高级用法示例 3.3. 摘要式认证 3.3.1. 简介 3.3.2. 规范(Specifics) 3.3.3. 身份(Identity) 3.4. HTTP 认证适配器 3.4.1. 简介 3.4.2. 设计回顾 ...

    Java电子日历设计.doc

    Java程序设计 课程设计报告 设计题目:电子日历设计 班级: 学号: 姓名: 1. 需求分析 设计并实现一个电子日历,当用户在下拉列表中选择年份... int week=date.get(Calendar.DAY_OF_WEEK)-1; int day=0; if(month==1

    JSP万年历 JSP万年历

    int firstIndex = thisMonth.get(Calendar.DAY_OF_WEEK) - 1; int maxIndex = thisMonth.getActualMaximum(Calendar.DAY_OF_MONTH); for (int i = 0; i ; i++) { days[firstIndex + i] = String.valueOf(i + 1);...

    如何打印2019年每个月的第一个星期天的日期

    但Calendar类Calendar.WEEK_OF_MONTH属性,即这一周在一个月中属于第几周这一属性设计的很不合我们的习惯,他是以周六作为一周的结束,比如19年的6月1日,恰好在周六,那么第一周就只有这一天,而作为周日的2号就在第...

    java常用工具类的使用

    在Java程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模式...

    Java 2实用教程(第三版)实验指导与习题解答

    //在Java Applet中绘制一行文字:“这是一个Java Applet 程序” g.setColor(Color.red); g.setFont(new Font("宋体",Font.BOLD,36)); g.drawString("我改变了字体",20,50);//在Java Applet中绘制一行文字:“我...

    duang简易日历记事本

    利用java语言开发建议日历记事本程序。 public class CalendarPad extends JFrame implements MouseListener{ int year,month,day; Hashtable hashtable; File file; static JTextField showDay[]; JLabel...

    simpleDate:java简单的日历生成器

    SimpleWeek week : simpleCalendar . getWeekList()) { System . out . println(); for ( SimpleDate . SimpleDay day : week . getDays()) { System . out . print(day . getDay() + " \t\t " ); } } ##...

    VB编程资源大全(英文源码 控制)

    millisec.zip Count Time in Milliseconds &lt;END&gt;&lt;br&gt;60,getday.zip Get the Day of Week that a Day Falls On&lt;END&gt;&lt;br&gt;61,shellend.zip Notify the User when a Shelled Process Ends &lt;END&gt;&lt;br&gt;62,varlist....

    calendar:2015-03-29集团项目

    日历 在这个项目中,我们将编写一些代码来处理日期,包括星期几和假期。 您将编写一个程序,要求输入日期并打印该日期的摘要。...day of week: Saturday work day: false national holiday: Independen

Global site tag (gtag.js) - Google Analytics