PrintSystemJobInfo.StartTimeOfDay Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die früheste Tageszeit ab, zu der der Druckauftrag ausgeführt werden kann. Die Zeit wird in Minuten nach Mitternacht UTC (Coordinated Universal Time) angegeben (wird auch als "Greenwich Mean Time" bzw. GMT bezeichnet).
public:
property int StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer
Eigenschaftswert
Ein Int32, der die früheste Startzeit für den Druckauftrag angibt. Die Zeit wird in Minuten nach Mitternacht UTC angegeben. Der Höchstwert ist 1439.
Beispiele
Das folgende Beispiel zeigt, wie Sie diese Eigenschaft als Teil der Diagnose eines problematischen Druckauftrags verwenden.
static Boolean ReportAvailabilityAtThisTime (PrintSystemJobInfo^ theJob)
{
Boolean available = true;
if (theJob->StartTimeOfDay != theJob->UntilTimeOfDay)
{
DateTime utcNow = DateTime::UtcNow;
Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If "now" is not within the range of available times . . .
if (!((theJob->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < theJob->UntilTimeOfDay)))
{
available = false;
}
}
return available;
}
private static Boolean ReportAvailabilityAtThisTime(PrintSystemJobInfo theJob)
{
Boolean available = true;
if (theJob.StartTimeOfDay != theJob.UntilTimeOfDay) // If the job cannot be printed at all times of day
{
DateTime utcNow = DateTime.UtcNow;
Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If "now" is not within the range of available times . . .
if (!((theJob.StartTimeOfDay < utcNowAsMinutesAfterMidnight)
&&
(utcNowAsMinutesAfterMidnight < theJob.UntilTimeOfDay)))
{
available = false;
}
}
return available;
}//end ReportAvailabilityAtThisTime
Private Shared Function ReportAvailabilityAtThisTime(ByVal theJob As PrintSystemJobInfo) As Boolean
Dim available As Boolean = True
If theJob.StartTimeOfDay <> theJob.UntilTimeOfDay Then ' If the job cannot be printed at all times of day
Dim utcNow As Date = Date.UtcNow
Dim utcNowAsMinutesAfterMidnight As Int32 = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes
' If "now" is not within the range of available times . . .
If Not((theJob.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < theJob.UntilTimeOfDay)) Then
available = False
End If
End If
Return available
End Function 'end ReportAvailabilityAtThisTime
Hinweise
Dieser Wert wird an jedes PrintSystemJobInfo Objekt von der PrintQueue.StartTimeOfDay -Eigenschaft des Hostings PrintQueue zum Zeitpunkt des Eintritts des Auftrags in die Warteschlange weitergegeben. Wenn PrintQueue.StartTimeOfDay geändert wird, wird jeder PrintSystemJobInfo.StartTimeOfDay Wert, der vor als PrintQueue.StartTimeOfDay liegt, in den Wert von PrintQueue.StartTimeOfDaygeändert.
Nachdem der Auftrag der Warteschlange hinzugefügt wurde, kann er über die Microsoft Windows-Benutzeroberfläche (UI) einen neuen StartTimeOfDay Wert erhalten, sofern er nicht älter als PrintQueue.StartTimeOfDayist.
Wenn Sie sich nicht in der UTC-Zeitzone befinden, müssen Sie ein Vielfaches von 60 hinzufügen oder subtrahieren, um die richtige Zeit für Ihre Zeitzone zu erhalten. Wenn Sie sich beispielsweise in der Pacific Time Zone von Nordamerika befinden und die Sommerzeit nicht wirksam ist, liegt Ihre Ortszeit 8 Stunden vor UTC. Wenn StartTimeOfDay 960 zurückgibt, bedeutet dies 16:00 (16:00 Uhr) in UTC (weil 960/60 = 16). Um dies in die Pazifikzeit zu konvertieren, müssen Sie 480 (= 8 * 60) Minuten subtrahieren.
Sie müssen auch daran denken, dass die Zeit nach 24 Stunden (also nach der 1439. Minute) auf null überschlägt. Wenn StartTimeOfDay 120 zurückgibt, bedeutet dies 2:00 Uhr in UTC. Um dies in die Pazifikzeit zu konvertieren, müssen Sie 480 Minuten subtrahieren, was zu -360 führt. Um einen positiven Wert mit Bedeutung zu erhalten, fügen Sie die negative Zahl zur Gesamtzahl der Minuten an einem Tag hinzu, 1440, was zu einem endenden Wert von 1080 (18:00 Uhr) Pacific Time führt.
Unter , TimeSpanund DateTime finden Sie TimeZoneMethoden, mit denen Sie Zeitzonenanpassungen vornehmen können.
Wenn der Drucker immer verfügbar ist, gibt diese Eigenschaft in allen Zeitzonen 0 zurück.