PrintQueue.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 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 StartTimeOfDay { int get(); void set(int value); };
public virtual int StartTimeOfDay { get; set; }
member this.StartTimeOfDay : int with get, set
Public Overridable Property StartTimeOfDay As Integer
Eigenschaftswert
Die früheste 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 StartTimeOfDay möchten, legen Sie ihn auf 8:00 UTC (= 8 * 60) fest. Sie müssen auch daran denken, dass die Zeit nach 24 Stunden (also nach der 1439. Minute) auf null überschlägt. 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.