Wenn ich behaupte, dass es leicht sei, muß ich es ja auch beweisen.
Dieses Script zeigt Dir alle Sendungen die zwischen 20:00 Uhr heute und 5:00 Uhr morgen beginnen an (Dein Beispiel).
Du kannst es natürlich immer beliebig anpassen.
Vielleicht noch ein paar Erläuteruhgen:
long gmtOffset = 2 * hour; -> 2 Stunden Zeitverschiebung zur GMT
long searchStartHour = 20; -> Beginn 20 Uhr
long searchEndHour = 5; -> Ende 5 Uhr
long searchNumberOfDaysForward = 1; -> 1 Tag soll nach vorne gesprungen werden
Code: Alles auswählen
import devplugin.beanshell.BeanShellProgramFilterIf;
import devplugin.Program;
import devplugin.ProgramFieldType;
import java.util.Calendar;
accept(Program p) {
Calendar programStart = Calendar.getInstance();
programStart.set(p.getDate().getYear(), p.getDate().getMonth()-1, p.getDate().getDayOfMonth(), p.getHours(), p.getMinutes());
long programStartTime = programStart.getTimeInMillis();
long hour = 60*60*1000;
long day = 24*hour;
long gmtOffset = 2 * hour;
long currentDay = System.currentTimeMillis() - (System.currentTimeMillis() % day) - gmtOffset;
long searchStartHour = 20;
long searchEndHour = 5;
long searchNumberOfDaysForward = 1;
long searchIntervalBegin = currentDay + searchStartHour * hour;
long searchIntervalEnd = currentDay + searchNumberOfDaysForward * day + searchEndHour * hour;
return ((searchIntervalBegin <= programStartTime) && (programStartTime <= searchIntervalEnd));
}
return (BeanShellProgramFilterIf) this;
Wenn ich behaupte, dass es leicht sei, muß ich es ja auch beweisen. :)
Dieses Script zeigt Dir alle Sendungen die zwischen 20:00 Uhr heute und 5:00 Uhr morgen beginnen an (Dein Beispiel).
Du kannst es natürlich immer beliebig anpassen.
Vielleicht noch ein paar Erläuteruhgen:
long gmtOffset = 2 * hour; -> 2 Stunden Zeitverschiebung zur GMT
long searchStartHour = 20; -> Beginn 20 Uhr
long searchEndHour = 5; -> Ende 5 Uhr
long searchNumberOfDaysForward = 1; -> 1 Tag soll nach vorne gesprungen werden
[code]
import devplugin.beanshell.BeanShellProgramFilterIf;
import devplugin.Program;
import devplugin.ProgramFieldType;
import java.util.Calendar;
accept(Program p) {
Calendar programStart = Calendar.getInstance();
programStart.set(p.getDate().getYear(), p.getDate().getMonth()-1, p.getDate().getDayOfMonth(), p.getHours(), p.getMinutes());
long programStartTime = programStart.getTimeInMillis();
long hour = 60*60*1000;
long day = 24*hour;
long gmtOffset = 2 * hour;
long currentDay = System.currentTimeMillis() - (System.currentTimeMillis() % day) - gmtOffset;
long searchStartHour = 20;
long searchEndHour = 5;
long searchNumberOfDaysForward = 1;
long searchIntervalBegin = currentDay + searchStartHour * hour;
long searchIntervalEnd = currentDay + searchNumberOfDaysForward * day + searchEndHour * hour;
return ((searchIntervalBegin <= programStartTime) && (programStartTime <= searchIntervalEnd));
}
return (BeanShellProgramFilterIf) this;
[/code]