Udostępnij za pośrednictwem


PrintSystemJobInfo.UntilTimeOfDay Właściwość

Definicja

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.

Dotyczy

Zobacz też