关于java定时任务

Candylibin 2012-04-17 08:39:08
小弟想用public boolean t(Date d,String s)种方法 比如我给了一个值assertTrue(t.t(new Date(), "0 16"))
来断言是否是当前时间 是 ,返回true 不是返回false,具体值不确定,用例测试的那种方法来测试。
...全文
234 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
安特矮油 2012-04-19
  • 打赏
  • 举报
回复
Candylibin 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

看了半天才看明白楼主的意思:再弱弱的问一句,你这个参数S "0 16 * * * " 中间是用空格分开的?
Calendar calendar = ……
[/Quote]

对是用空格分开的 “0 16” 其实和 "0 16 * * * " 是一样代表 每天16点
DayDreamer922 2012-04-18
  • 打赏
  • 举报
回复
看了半天才看明白楼主的意思:再弱弱的问一句,你这个参数S "0 16 * * *" 中间是用空格分开的?
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, 年);
calendar.add(Calendar.MONTH, 月);
calendar.set(Calendar.DAY_OF_MONTH, 日);
calendar.set(Calendar.HOUR_OF_DAY, 小时);
calendar.set(Calendar.MINUTE, 分钟);


return calendar.getTime().compareTo(new Date());
Candylibin 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
小弟想用public boolean t(Date d,String s)种方法 比如我给了一个值assertTrue(t.t(new Date(), "0 16"))
来断言是否是当前时间 是 ,返回true 不是返回false,具体值不确定,用例测试的那种方法来测试。
[/Quote]

public class TestT extends TestCase {
T t = new T();

public void testTFail() {
assertFalse(t.t(new Date(), "* 16"));
}

public void testTSuccess2() {
assertTrue(t.t(new Date(), "0 16"));
}

public void testTSuccess3() {
assertTrue(t.t(new Date(), "0 17 *"));
}

public void testTSuccess4() {
assertTrue(t.t(new Date(), "16 10 * *"));
}

public void testTSuccess5() {
assertTrue(t.t(new Date(), "45 11 18 04 2012"));
}

public void testTSuccess5_0() {
assertTrue(t.t(new Date(), "0 16 * * *"));
}

public void testTSuccess5_1() {
assertTrue(t.t(new Date(), "0 16 * * *"));
}

这个是我部分测试的代码,大侠能给点指点吗,代码
Candylibin 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

把日期转换成 表达式 ,然后 在正则匹配
[/Quote]

这个不是死的 是活的,比如 某年 某月 某天的 某时执行 或者是每月的第八天执行
  • 打赏
  • 举报
回复
把日期转换成 表达式 ,然后 在正则匹配
Candylibin 2012-04-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
小弟想用public boolean t(Date d,String s)种方法 比如我给了一个值assertTrue(t.t(new Date(), "0 16"))
来断言是否是当前时间 是 ,返回true 不是返回false,具体值不确定,用例测试的那种方法来测试。
[/Quote]

就是代表:这吗说吧: "0 16 * * *" 最多有5个 从后往前 分别代表 年 月 日 小时 分钟 上面那个就是每天的16点整呵呵
Candylibin 2012-04-17
  • 打赏
  • 举报
回复
就是代表:这吗说吧: "0 16 * * *" 最多有5个 从后往前 分别代表 年 月 日 小时 分钟 上面那个就是每天的16点整呵呵
qybao 2012-04-17
  • 打赏
  • 举报
回复
LZ问问题能不能敬业一点,"0 16"的0和16各代表什么?
public boolean t(Date d, String s) {
SimpleDateFormat sdf = new SimpleDateFormat("m HH");
String ds = sdf.format(d);
return ds.equals(s);
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧