SimpleDateFormat 问题 我需要限制客户只能在每个月的12号13:00,到20号的12:00才能办理业务并且返回true。 其他时间返回false ,不能办理业务,怎样控制这个时间段??? 这样的话如何使用 SimpleDateFormat类???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个应该通过逻辑来实现,跟SimpleDateFormat没有多大关系吧! SimpleDateFormat是格式化日期,用个逻辑来判断吧。 Java中的日期时间 这个与SimpleDateFormat一点关系也没有.你的需求用java中的日历类就可以了. 给你实现了.代码如下 :import java.util.Calendar;import java.util.GregorianCalendar;public class ShijianTest { public boolean isComtainDate(Calendar cur) { boolean isComtain = false; int year = cur.get(Calendar.YEAR); int month = cur.get(Calendar.MONTH); Calendar start = new GregorianCalendar(year,month,12,13,0); Calendar end = new GregorianCalendar(year,month,20,12,0); if(cur.getTimeInMillis()>=start.getTimeInMillis() && cur.getTimeInMillis()<=end.getTimeInMillis()) isComtain = true; return isComtain; } public static void main(String[] args) { ShijianTest test = new ShijianTest(); Calendar calendar = new GregorianCalendar(2008,10,5,13,29); boolean comtainDate = test.isComtainDate(calendar); System.out.println(comtainDate); calendar = new GregorianCalendar(2008,10,12,13,29); comtainDate = test.isComtainDate(calendar); System.out.println(comtainDate); calendar = new GregorianCalendar(2008,10,20,11,59); comtainDate = test.isComtainDate(calendar); System.out.println(comtainDate); calendar = new GregorianCalendar(2008,10,20,12,1); comtainDate = test.isComtainDate(calendar); System.out.println(comtainDate); }} Calendar中有两个方法before()和after()可以去参考一下 import java.text.DateFormat;import java.util.Calendar;import java.util.Date;public class Test{ public static void main(String args[]){ Date date = new Date(); System.out.println(DateFormat.getDateTimeInstance().format(date) + (isBusinessTime(date)?" ":" 不") + "能办理业务"); } public static boolean isBusinessTime(Date date){ Calendar c = Calendar.getInstance(); c.setTime(date); int day = c.get(Calendar.DAY_OF_MONTH); if (day > 12 && day < 20) { return true; } int hour = c.get(Calendar.HOUR_OF_DAY); if (day == 12 && hour >= 13) { return true; } if (day == 20 && hour < 12) { return true; } return false; }} 用before和after确实方便,但是可能带来效率的损失,好想要比较到毫秒级 控制台下输入无效啊 pack()方法 关于sjcp泛型的几个问题 如何实现多维数组中各数据项的索引 小问题 大家用Java做什么呢? 关于JAVA中的声音播放组件问题? 送分,看如下代码??? 重庆的java朋友,请进! Interger.tohexstring(int i)这个方法返回的是一个16进制数,我想让他返回的结果前面自动补0 正则:提取数字?? 怎么把java程序嵌入在ie中
import java.util.GregorianCalendar;public class ShijianTest {
public boolean isComtainDate(Calendar cur) {
boolean isComtain = false;
int year = cur.get(Calendar.YEAR);
int month = cur.get(Calendar.MONTH);
Calendar start = new GregorianCalendar(year,month,12,13,0);
Calendar end = new GregorianCalendar(year,month,20,12,0);
if(cur.getTimeInMillis()>=start.getTimeInMillis() && cur.getTimeInMillis()<=end.getTimeInMillis())
isComtain = true;
return isComtain;
}
public static void main(String[] args) {
ShijianTest test = new ShijianTest();
Calendar calendar = new GregorianCalendar(2008,10,5,13,29);
boolean comtainDate = test.isComtainDate(calendar);
System.out.println(comtainDate);
calendar = new GregorianCalendar(2008,10,12,13,29);
comtainDate = test.isComtainDate(calendar);
System.out.println(comtainDate);
calendar = new GregorianCalendar(2008,10,20,11,59);
comtainDate = test.isComtainDate(calendar);
System.out.println(comtainDate);
calendar = new GregorianCalendar(2008,10,20,12,1);
comtainDate = test.isComtainDate(calendar);
System.out.println(comtainDate);
}}
import java.util.Calendar;
import java.util.Date;public class Test{
public static void main(String args[]){
Date date = new Date();
System.out.println(DateFormat.getDateTimeInstance().format(date) + (isBusinessTime(date)?" ":" 不") + "能办理业务");
}
public static boolean isBusinessTime(Date date){
Calendar c = Calendar.getInstance();
c.setTime(date);
int day = c.get(Calendar.DAY_OF_MONTH);
if (day > 12 && day < 20) {
return true;
}
int hour = c.get(Calendar.HOUR_OF_DAY);
if (day == 12 && hour >= 13) {
return true;
}
if (day == 20 && hour < 12) {
return true;
}
return false;
}
}