如何写个函数判断当前时间如果 超过18:00 取今天的日期,否则取昨天,还有周6日的问题 函数要求判断 当前系统时间是否超过18:00 ,比如今天是5月18日, 如果当前时间为 5月18日 18:13分 则返回时间字符串 090518,如果当前日期是17:55 则返回 090517,另外如果今天是周6 周日 以及周一的18:00之前,都返回上个周5的日期,假如今天是2009年5月25日中午12:00 则返回 090522 (即上周5的日期)谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void main(String[] args) throws ParseException { Calendar c = Calendar.getInstance(); c.setTime(new SimpleDateFormat("yyyyMMdd-HH").parse("20090515-19")); // 如果小于 18 点则往回退 if (c.get(Calendar.HOUR_OF_DAY) < 18) { c.add(Calendar.DAY_OF_MONTH, -1); } // 如果是周末则往回退 if (c.get(Calendar.DAY_OF_WEEK) == 1) { // 星期日 c.add(Calendar.DATE, -2); } else if (c.get(Calendar.DAY_OF_WEEK) == 7) { // 星期六 c.add(Calendar.DATE, -1); } System.out.println(new SimpleDateFormat("yyyyMMdd").format(c.getTime()));} 给你简单的写了一个,第2个功能差不多的,多一步判断而已,自己加点吧。import java.util.*;import java.text.*;public class FormatDate { public static void formatDate(Date date){ GregorianCalendar calendar = new GregorianCalendar(Locale.CHINA); calendar.setTime(date); if(calendar.get(Calendar.HOUR) < 18) calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH)-1); SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); System.out.println(dateFormat.format(calendar.getTime())); } public static void main(String args[]){ Date currentDate = new Date(); formatDate(currentDate); }} public static void main(String args[]) throws ParseException{ Calendar cal = Calendar.getInstance(); //測試用 自定義日期﹑小時--使用時取消 cal.setTime(new SimpleDateFormat("yyyyMMdd-HH").parse("20090518-11")); //周6 if((cal.get(Calendar.DAY_OF_WEEK)==7)){ cal.add(Calendar.DAY_OF_MONTH,-1); System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime())); } //周7 else if((cal.get(Calendar.DAY_OF_WEEK)==1)){ cal.add(Calendar.DAY_OF_MONTH,-2); System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime())); } //周1 18點前 else if((cal.get(Calendar.DAY_OF_WEEK)==2)&&cal.getTime().getHours()<18){ System.out.println(Calendar.HOUR_OF_DAY); cal.add(Calendar.DAY_OF_MONTH,-3); System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime())); } //周2-周5 18點前 else if (cal.getTime().getHours()<18) { cal.add(Calendar.DAY_OF_MONTH, -1); System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime())); } //周1-周5 18點后 else{ System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime())); } } 请老师们 看看 我这里哪里出现问题 ?谢谢。 java JTree选中某个叶子节点,回车,相当于双击事件 被这问题头疼了 《负载均衡》 求高手解答一道课后习题 关于十进制和八进制的问题 跪求 一个小问题?求助! 如果想将一个javabean的内容,通过form提交给其他页面(或者struts框架的Action)该怎么做? java程序定时向Oracle数据库导入数据 多线程的问题:两个线程如何互相唤醒啊? 单子设计模式的用途有哪一些? TreeSet类中的一个小问题
Calendar c = Calendar.getInstance();
c.setTime(new SimpleDateFormat("yyyyMMdd-HH").parse("20090515-19")); // 如果小于 18 点则往回退
if (c.get(Calendar.HOUR_OF_DAY) < 18) {
c.add(Calendar.DAY_OF_MONTH, -1);
} // 如果是周末则往回退
if (c.get(Calendar.DAY_OF_WEEK) == 1) { // 星期日
c.add(Calendar.DATE, -2);
} else if (c.get(Calendar.DAY_OF_WEEK) == 7) { // 星期六
c.add(Calendar.DATE, -1);
} System.out.println(new SimpleDateFormat("yyyyMMdd").format(c.getTime()));
}
import java.util.*;
import java.text.*;public class FormatDate {
public static void formatDate(Date date){
GregorianCalendar calendar = new GregorianCalendar(Locale.CHINA);
calendar.setTime(date);
if(calendar.get(Calendar.HOUR) < 18)
calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH)-1);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
System.out.println(dateFormat.format(calendar.getTime()));
}
public static void main(String args[]){
Date currentDate = new Date();
formatDate(currentDate);
}
}
public static void main(String args[]) throws ParseException{
Calendar cal = Calendar.getInstance();
//測試用 自定義日期﹑小時--使用時取消
cal.setTime(new SimpleDateFormat("yyyyMMdd-HH").parse("20090518-11"));
//周6
if((cal.get(Calendar.DAY_OF_WEEK)==7)){
cal.add(Calendar.DAY_OF_MONTH,-1);
System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime()));
}
//周7
else if((cal.get(Calendar.DAY_OF_WEEK)==1)){
cal.add(Calendar.DAY_OF_MONTH,-2);
System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime()));
}
//周1 18點前
else if((cal.get(Calendar.DAY_OF_WEEK)==2)&&cal.getTime().getHours()<18){
System.out.println(Calendar.HOUR_OF_DAY);
cal.add(Calendar.DAY_OF_MONTH,-3);
System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime()));
}
//周2-周5 18點前
else if (cal.getTime().getHours()<18) {
cal.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime()));
}
//周1-周5 18點后
else{
System.out.println(new SimpleDateFormat("yyMMdd").format(cal.getTime()));
}
}