Teilen über


PrintSystemJobInfo.UntilTimeOfDay Eigenschaft

Definition

Ruft die späteste 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 UntilTimeOfDay { int get(); };
public int UntilTimeOfDay { get; }
member this.UntilTimeOfDay : int
Public ReadOnly Property UntilTimeOfDay As Integer

Eigenschaftswert

Ein Int32, der die späteste mögliche 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 im Rahmen 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 zu dem Zeitpunkt, zu dem der Auftrag in die PrintQueue.UntilTimeOfDay Warteschlange eintritt, von der Eigenschaft des Hostings PrintQueue an jedes PrintSystemJobInfo Objekt weitergegeben. Wenn PrintQueue.UntilTimeOfDay geändert wird, wird jeder PrintSystemJobInfo.UntilTimeOfDay Wert, der sich später als PrintQueue.UntilTimeOfDay befindet, in den Wert von PrintQueue.UntilTimeOfDaygeändert.

Nachdem der Auftrag der Warteschlange hinzugefügt wurde, kann er über die Microsoft Windows-Benutzeroberfläche (UI) einen neuen UntilTimeOfDay Wert erhalten, vorausgesetzt, er ist nicht später als PrintQueue.UntilTimeOfDay.

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 pazifischen Zeitzone Nordamerika befinden und die Sommerzeit nicht wirksam ist, liegt Ihre Ortszeit 8 Stunden vor UTC. Wenn UntilTimeOfDay 960 zurückgegeben wird, bedeutet dies 16:00 (16:00 Uhr) in UTC (weil 960/60 = 16). Um dies in Pacific Time 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 überrollt wird. Wenn UntilTimeOfDay 120 zurückgegeben wird, bedeutet dies 2:00 Uhr in UTC. Um dies in Pacific Time 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 der Gesamtminuten eines Tages hinzu, 1440, was zu einem endgültigen 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.

Gilt für:

Weitere Informationen