PrintQueue.UntilTimeOfDay 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 späteste Tageszeit ab, zu der der Drucker einen Druckauftrag ausführt, oder legt diese Zeit fest. Die Zeit wird in Minuten nach Mitternacht UTC (Coordinated Universal Time) angegeben (wird auch als "Greenwich Mean Time" bzw. GMT bezeichnet).
public:
virtual property int UntilTimeOfDay { int get(); void set(int value); };
public virtual int UntilTimeOfDay { get; set; }
member this.UntilTimeOfDay : int with get, set
Public Overridable Property UntilTimeOfDay As Integer
Eigenschaftswert
Die späteste Tageszeit, zu der der Drucker verfügbar ist. Die Zeit wird in Minuten nach Mitternacht UTC angegeben. Der Höchstwert ist 1439. Wenn ein Drucker zum ersten Mal mithilfe des Assistenten zum Hinzufügen von Microsoft Windows-Druckern installiert wird, ist der Drucker standardmäßig immer verfügbar, und diese Eigenschaft gibt in allen Zeitzonen 0 zurück.
Beispiele
Im folgenden Beispiel wird gezeigt, wie Diese Eigenschaft verwendet wird, um zu bestimmen, ob derzeit ein Drucker verfügbar ist.
private:
static void ReportAvailabilityAtThisTime (System::String^% statusReport, System::Printing::PrintQueue^ pq)
{
if (pq->StartTimeOfDay != pq->UntilTimeOfDay)
{
System::DateTime utcNow = DateTime::UtcNow;
System::Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;
// If now is not within the range of available times . . .
if (!((pq->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < pq->UntilTimeOfDay)))
{
statusReport = statusReport + " Is not available at this time of day. ";
}
}
};
private static void ReportAvailabilityAtThisTime(ref String statusReport, PrintQueue pq)
{
if (pq.StartTimeOfDay != pq.UntilTimeOfDay) // If the printer is not available 24 hours a 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 (!((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight)
&&
(utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)))
{
statusReport = statusReport + " Is not available at this time of day. ";
}
}
}
Private Shared Sub ReportAvailabilityAtThisTime(ByRef statusReport As String, ByVal pq As PrintQueue)
If pq.StartTimeOfDay <> pq.UntilTimeOfDay Then ' If the printer is not available 24 hours a 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((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)) Then
statusReport = statusReport & " Is not available at this time of day. "
End If
End If
End Sub
Hinweise
Wenn Sie sich nicht in der UTC-Zeitzone befinden, müssen Sie Vielfache von 60 hinzufügen oder subtrahieren, um die richtige Zeit für Ihre Zeitzone festzulegen oder 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 Sie in Ihrer Zeitzone auf 12:00 Uhr festlegen UntilTimeOfDay möchten, legen Sie ihn auf 8:00 UTC (= 8 * 60) fest. Sie müssen auch daran denken, dass die Zeit nach der 24. Stunde (der 1439. Minute) auf null überrollt wird. Um es in Ihrer Zeitzone auf 18 Uhr festzulegen, legen Sie es auf 2 Uhr UTC fest, was 120 (= 2 * 60) ist. Hilfreiche Methoden zur Bearbeitung von Zeitzonen finden Sie TimeZoneunter , TimeSpanund DateTime klassen.
Wenn der Drucker immer verfügbar ist, gibt diese Eigenschaft in allen Zeitzonen 0 zurück.