求一段java判断日期的代码

通过java实现以下功能:

不考虑年份,

如果大于9月17日,就输出“时间过了”
如果小于等于9月17日,就输出“时间未到”

最好是完整的代码,越短越好。
本人不懂java,希望是完整代码,直接放到<script></script>
中间即可在html中显示出来。

第1个回答  2014-09-17
<script type="text/javascript">
var date = new Date();
var day = date.getDate();
var mon = date.getMonth()+1;
if(mon<9||(mon==9&&day<=17)){
document.write("时间未到")
}else{
document.write("时间过期了")
}
</script>
第2个回答  2014-09-17
public class TestMonth {

public static int MONTH = 8;// 月份从0开始的
public static int DAY = 27;

/**
* @param monthDay FORMAT MM-DD
*/
public static void comMonthDay(String monthDay) {
int m = Integer.parseInt(monthDay.split("-")[0]);
int d = Integer.parseInt(monthDay.split("-")[1]);
if (m > MONTH + 1 || (m == MONTH + 1 && d > DAY)) {
System.out.println("过了");
} else {
System.out.println("没过");
}
}

public static void main(String[] args) {
comMonthDay("8-12");
comMonthDay("9-12");
comMonthDay("9-27");
comMonthDay("10-12");
}
}

如果判断当前时间关键使用到这两个API
System.out.println(Calendar.getInstance().get(Calendar.MONTH));
System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));追问

如何调用呢?我将它放到中间怎么没有用?

如何调用呢?我将它放到中间怎么没有用?

第3个回答  2014-09-17
package baiduzhidao;

import java.util.Date;

public class DateQ {
public static void main(String[] args) {
// 通过java实现以下功能:
// 不考虑年份,
// 如果大于9月17日,就输出“时间过了”
// 如果小于等于9月17日,就输出“时间未到”
// 最好是完整的代码,越短越好。

test();
}

public static void test(){
Date d = new Date();

if(d.getMonth()+1> 9){
//过了9月份
System.out.println("时间过了");
}else if(d.getMonth()+1 == 9){
//9月份
if(d.getDate()> 17){
System.out.println("时间过了");
}else if(d.getDate()==17){
System.out.println("今天就是9月17日");
}else{
System.out.println("时间未到");
}
}else{
//小于九月份
System.out.println("时间未到");
}
}
}

请给满分!已经测试
第4个回答  2014-09-17
import java.util.*;

public class test {
public static void main(String []args){
int date = Calendar.getInstance().get(Calendar.MONTH)*100 + Calendar.getInstance().get(Calendar.DATE);
System.out.println(date>817?"时间过了":"时间未到");
}
}

两行哈哈, 整合到一行也行e,

楼上哥们, 10月16号咋办..

追问

谢谢回答,但9月17日只是打个比方,这个日期会经常变动呢。

追答

嘿嘿客气~这个主要是把月份乘以任意一个大于31的数(比如100,比较方便理解)之后再加上日期,这样的话下一个月一定比前一个月值大,可以免除同时比较月和日的逻辑上的麻烦,只比较一个数字即可.

第5个回答  2014-09-17
        Calendar calT = Calendar.getInstance();
        if(calT.get(Calendar.MONTH)>=8&&calT.get(Calendar.DAY_OF_MONTH)>17){
            System.out.println("时间过了");
        }else{
            System.out.println("时间未到");
        }