Udostępnij za pośrednictwem


PrintQueue.UntilTimeOfDay Właściwość

Definicja

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.

Dotyczy

Zobacz też