03-06-2014, 05:53 PM
Gaikotsu Написал:хм, и как интерестно это пофиксить одной строкой, если под фиксом не подразумевается замена типа реюза на обычный, а не в 6:30.
толи мне сегодня не соображается толи что, но ничего кроме извращений типа "не давать вобще юзать кубик в период от 6:30 до 6:31" в голову не приходит.
Как вариант можно так.
PHP код:
<?php
/**
* Field EVERY_DAY_AT_6_30.
*/
EVERY_DAY_AT_6_30(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_FOR_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_FOR_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_S4_SECONDS_REMAINING_FOR_S1S_REUSE_TIME)
{
private final SchedulingPattern _pattern = new SchedulingPattern("30 6 * * *");
@Override
public long next(ItemInstance item)
{
return _pattern.next(System.currentTimeMillis());
}
};
PHP код:
<?php
/**
* Field EVERY_DAY_AT_6_30.
*/
EVERY_DAY_AT_6_30(SystemMsg.THERE_ARE_S2_SECONDS_REMAINING_FOR_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_MINUTES_S3_SECONDS_REMAINING_FOR_S1S_REUSE_TIME, SystemMsg.THERE_ARE_S2_HOURS_S3_MINUTES_S4_SECONDS_REMAINING_FOR_S1S_REUSE_TIME)
{
@Override
public long next(ItemInstance item)
{
Calendar nextTime = Calendar.getInstance();
if(nextTime.get(Calendar.HOUR_OF_DAY) > 6 || nextTime.get(Calendar.HOUR_OF_DAY) == 6 && nextTime.get(Calendar.MINUTE) >= 30)
{
nextTime.add(Calendar.DATE, 1);
}
nextTime.set(Calendar.HOUR_OF_DAY, 6);
nextTime.set(Calendar.MINUTE, 30);
return nextTime.getTimeInMillis();
}
};