PrintQueue.UntilTimeOfDay Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia najnowszy czas, wyrażony jako liczba minut po północy uniwersalny czas koordynowany (UTC) (nazywany również Greenwich Mean Time [GMT]), że drukarka wyświetli zadanie.
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
Wartość właściwości
Godzina, o jaką drukarka nie jest już dostępna, wyrażona jako liczba minut po północy (UTC). Maksymalna wartość to 1439. Gdy drukarka jest najpierw zainstalowana przy użyciu Kreatora dodawania drukarki systemu Microsoft Windows, drukarka jest domyślnie dostępna przez cały czas, a ta właściwość zwraca wartość 0 we wszystkich strefach czasowych.
Przykłady
W poniższym przykładzie pokazano, jak za pomocą tej właściwości określić, czy drukarka jest obecnie dostępna.
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
Uwagi
Jeśli nie jesteś w strefie czasowej UTC, musisz dodać lub odjąć wielokrotności 60, aby ustawić lub uzyskać prawidłowy czas dla strefy czasowej. Jeśli na przykład znajdujesz się w strefie czasowej Pacyfiku Ameryka Północna i czasu letniego nie obowiązują, czas lokalny wynosi 8 godzin wcześniej niż UTC. Aby ustawić UntilTimeOfDay wartość 12:00 w strefie czasowej, ustaw ją na 8:00 CZASU UTC, czyli 480 (= 8 * 60). Należy również pamiętać, że czas przerzuca się na zero po 24 godzinie (1439 minucie). Aby ustawić ją na 18:00 w strefie czasowej, ustaw ją na 2:00 CZASU UTC, czyli 120 (= 2 * 60). Zobacz TimeZone, TimeSpani DateTime klasy, aby uzyskać pomocną metodę manipulowania strefą czasową.
Jeśli drukarka jest zawsze dostępna, ta właściwość zwraca wartość 0 we wszystkich strefach czasowych.