PrintSystemJobInfo.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 ostatnią godzinę dnia, wyrażoną jako liczbę minut po północy uniwersalny czas koordynowany (UTC) (nazywany również Greenwich Mean Time [GMT]), że zadanie drukowania może rozpocząć drukowanie.
public:
property int UntilTimeOfDay { int get(); };
public int UntilTimeOfDay { get; }
member this.UntilTimeOfDay : int
Public ReadOnly Property UntilTimeOfDay As Integer
Wartość właściwości
Element Int32 określający czas ostatniego drukowania zadania, wyrażony jako liczba minut po północy (UTC). Maksymalna wartość to 1439.
Przykłady
W poniższym przykładzie pokazano, jak używać tej właściwości w ramach procesu diagnozowania problematycznego zadania drukowania.
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
Uwagi
Ta wartość jest propagowana do każdego PrintSystemJobInfo obiektu z PrintQueue.UntilTimeOfDay właściwości hostingu PrintQueue w momencie wejścia zadania do kolejki. Jeśli PrintQueue.UntilTimeOfDay zostanie zmieniona, każda PrintSystemJobInfo.UntilTimeOfDay wartość późniejsza niż PrintQueue.UntilTimeOfDay zostanie zmieniona na wartość .PrintQueue.UntilTimeOfDay
Po dodaniu zadania do kolejki można podać nową UntilTimeOfDay wartość za pośrednictwem interfejsu użytkownika systemu Microsoft Windows, pod warunkiem, że nie jest on późniejszy niż PrintQueue.UntilTimeOfDay.
Jeśli nie jesteś w strefie czasowej UTC, musisz dodać lub odjąć wielokrotności 60, aby 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. Jeśli UntilTimeOfDay zwraca wartość 960, oznacza to 16:00 (16:00) w formacie UTC (ponieważ 960/60 = 16). Aby przekonwertować tę wartość na czas pacyficzny, należy odjąć 480 (= 8 * 60) minut.
Należy również pamiętać, że czas przerzuca się na zero po 24 godzinach (czyli po 1439 minucie). Jeśli UntilTimeOfDay zwraca wartość 120, oznacza to 2:00 czasu UTC. Aby przekonwertować tę wartość na czas pacyficzny, należy odjąć 480 minut, co powoduje odejmowanie wartości -360. Aby uzyskać wartość dodatnią, która ma znaczenie, dodaj liczbę ujemną do łącznej liczby minut w ciągu dnia, 1440, co powoduje końcową wartość 1080 (6:00 PM) Czas pacyficzny.
Zobacz TimeZone, TimeSpani, aby DateTime uzyskać metody, które ułatwiają dostosowanie strefy czasowej.
Jeśli drukarka jest zawsze dostępna, ta właściwość zwraca wartość 0 we wszystkich strefach czasowych.