PrintSystemJobInfo.StartTimeOfDay 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 najwcześniejszą 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 StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer
Wartość właściwości
Określenie Int32 najwcześniejszego możliwego czasu rozpoczęcia zadania drukowania wyrażonego 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.StartTimeOfDay właściwości hostingu PrintQueue w momencie wejścia zadania do kolejki. Jeśli PrintQueue.StartTimeOfDay zostanie zmieniona, każda PrintSystemJobInfo.StartTimeOfDay wartość wcześniejsza niż PrintQueue.StartTimeOfDay zostanie zmieniona na wartość PrintQueue.StartTimeOfDay.
Po dodaniu zadania do kolejki można podać nową StartTimeOfDay wartość za pośrednictwem interfejsu użytkownika systemu Microsoft Windows, pod warunkiem, że nie jest on wcześniejszy niż PrintQueue.StartTimeOfDay.
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 StartTimeOfDay 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 StartTimeOfDay 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.