`
xinzhengjie
  • 浏览: 15742 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JAVA,Calendar关于工期

    博客分类:
  • JAVA
阅读更多
import java.util.Calendar;

public class CalendarTest {

/**
* @param args
*/
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
printCalendar(c);
//System.out.println(getDayNum(3200));
Calendar startDay = Calendar.getInstance();
Calendar finishDay = getFinishDay(startDay);
printCalendar(finishDay);

int num = finishDay.get(Calendar.DAY_OF_YEAR)-c.get(Calendar.DAY_OF_YEAR);
System.out.println("经过了" + num + "天");

}

//计算出某年的2月份有多少天
public static int getDayNum(int year) {
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
c.add(Calendar.DAY_OF_YEAR, -1);
return c.get(Calendar.DAY_OF_MONTH);
}

//一个项目做100天,周末休息,五一和十一各休息一天,今天开始做,哪天完工
public static Calendar getFinishDay(Calendar c) {
for(int i=0; i<100; i++) {

if(c.get(Calendar.DAY_OF_WEEK)==1||c.get(Calendar.DAY_OF_WEEK)==7)
i--;
else if(c.get(c.DAY_OF_MONTH)==1&&(c.get(c.MONTH)==4||c.get(c.MONTH)==9))
i--;
c.add(Calendar.DAY_OF_YEAR, 1);
}
return c;
}

private static void printCalendar(Calendar c) {
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);

String weekStr = null;
switch(week) {
case 1:
weekStr = "星期天";
break;
case 2:
weekStr = "星期一";
break;
case 3:
weekStr = "星期二";
break;
case 4:
weekStr = "星期三";
break;
case 5:
weekStr = "星期四";
break;
case 6:
weekStr = "星期五";
break;
case 7:
weekStr = "星期六";
break;
}

String str = "今天是" + year + "年" + (month+1) + "月" + day + "日,"
+ weekStr + "现在是北京时间" + hour + ":" + minute;
System.out.println(str);
}

}

/*
* public int get(int num) {
* if(num==5)
* return 今天是一年中的第几天
* if(num==9)
* return 今天是这个月的第几天
* }
*/
分享到:
评论

相关推荐

    JavaCalendar_JAVA源码_

    JavaCalendar是Java编程语言中用于处理日期和时间的重要类,它是`java.util.Calendar`的实现。这个源码分析将深入探讨Java中日期和时间的管理,以及如何利用`Calendar`类进行相关的操作。 首先,`Calendar`类是抽象...

    Java 之 Date 和 Calendar 实例

    在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...

    java的calendar具体用法

    此外,还有关于`Calendar`对象的序列化和反序列化的示例代码: ```java public class WhatIsCalendarWrite { public static void main(String[] args) throws Exception { ObjectOutputStream out = new ...

    Java SE程序 Calendar类

    Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类...

    JAVA Calendar,Date类详解

    在Java编程语言中,`Calendar`和`Date`类是处理日期和时间的核心组件。这两个类在处理日期、时间计算以及格式化等任务时扮演着关键角色。理解并熟练运用它们,对于提升Java开发能力至关重要。 `Date`类是Java早期...

    JAVA Calendar方法详解.doc

    在Java编程语言中,`Calendar`类是一个核心的日期和时间API,它用于处理各种日历系统,而不仅仅是常见的格里高利历(Gregorian Calendar)。`Calendar`是一个抽象类,这意味着它不能直接被实例化,但是提供了`...

    JAVA LunarCalendar返回农历(阴历)日期 JAR包 有包括详细DOC文档

    LunarCalendar返回农历(阴历)日期的JAR包 根据指定日期计算对应农历日期(这个计算方法是网上找的,最初的作者是谁已经无法考证了,感谢网络资源吧!),本人封装成好用的JAR包后发不出来,供大家免费下载! ...

    JavaCalendar

    JavaCalendar是一个在Java环境中用于处理和显示时间的组件,尤其在Java Swing应用中,由于J Swing自身并未内置专门的时间控件,JavaCalendar就显得尤为重要。它提供了用户友好的界面,帮助开发者实现对日期和时间的...

    java_Calendar控件

    Java中的`Calendar`类是处理日期和时间的核心组件,它是一个抽象类,提供了对日期和时间的全面操作。在Java编程中,`Calendar`控件是用于创建、修改和查询日期的重要工具。这个控件的功能非常强大,可以满足各种复杂...

    Java Calendar类使用总结及使用实例

    Java Calendar类使用总结及使用实例 Java Calendar类是Java语言中用于处理日期和时间的类,它提供了许多方法来获取和设置日期和时间。下面是Java Calendar类的使用总结及使用实例: 1. 获取Calendar实例 Java ...

    java中时间类Date和Calendar的使用

    Java中的时间类`Date`和`Calendar`是处理日期和时间的核心组件,它们在Java编程中扮演着重要的角色。在Java中,`Date`类主要用来表示特定的瞬间,精确到毫秒。而`Calendar`类则是一个抽象类,提供了比`Date`更灵活的...

    java 中Calendar日期格式的转换

    在Java编程语言中,`Calendar`类是处理日期和时间的核心工具之一,它提供了一种可以操作日期和时间字段(如年、月、日、时、分、秒等)的灵活方式。`Calendar`类是抽象的,因此我们通常通过其子类如`...

    Java基础之Date和Calendar类的使用方法

    Java中的Date和Calendar类是处理日期和时间的核心组件。Date类主要用于表示特定的瞬间,精确到毫秒。在早期版本的Java中,Date类的设计受到批评,因为它的API不直观且容易导致错误。为了解决这些问题,大部分日期和...

    Java中Calendar类.pdf

    Java中的`Calendar`类是处理日期和时间的核心类,它是一个抽象类,提供了一系列方法用于在特定瞬间与一组日历字段之间进行转换和操作。自JDK 1.1起,`Calendar`类就被推荐用来处理日期和时间,因为它的功能比`Date`...

    基于java的开发源码-Calendar万年历.zip

    基于java的开发源码-Calendar万年历.zip 基于java的开发源码-Calendar万年历.zip 基于java的开发源码-Calendar万年历.zip 基于java的开发源码-Calendar万年历.zip 基于java的开发源码-Calendar万年历.zip 基于java的...

    Java中用Calendar类计算周和周的起始日期

    Java 中用 Calendar 类计算周和周的起始日期 Java 中用 Calendar 类计算周和周的起始日期时,需要了解 Calendar 类的使用方法和日期计算的逻辑。在 Java 中,Calendar 类提供了计算周和周的起始日期的方法。 首先...

    JAVA源码Calendar万年历JAVA源码Calendar万年历

    JAVA源码Calendar万年历JAVA源码Calendar万年历

    基于Java的Calendar万年历.zip

    以下是关于Java `Calendar`类的一些关键知识点: 1. **实例化**:如前所述,由于`Calendar`是抽象类,我们通常使用`getInstance()`静态方法来获取一个具体实现的实例,例如: ```java Calendar calendar = ...

    Java Calendar日历与Date日期的相互转换详解

    Java Calendar日历与Date日期的相互转换详解 Java Calendar日历与Date日期的相互转换是Java开发中的一项基本技术,掌握这项技术可以帮助开发者更好地处理日期和时间相关的操作。在本文中,我们将详细介绍Java ...

    Date、String、Calendar之间的转换_java编程_

    在Java编程中,Date、String和Calendar是三个重要的日期时间处理类,它们之间相互转换的技巧是开发者必备的知识。理解并熟练掌握这三者之间的转换,对于处理日常的日期时间问题至关重要。 首先,我们来看`Date`类。...

Global site tag (gtag.js) - Google Analytics