Udostępnij za pośrednictwem


PrintQueue.StartTimeOfDay Właściwość

Definicja

Pobiera lub ustawia najwcześniejszą godzinę dnia, wyrażoną jako liczba minut po północy uniwersalnego czasu koordynowanego (UTC) (nazywanym również czasem średnim Greenwich [GMT]), które drukarka wyświetli zadanie.

public:
 virtual property int StartTimeOfDay { int get(); void set(int value); };
public virtual int StartTimeOfDay { get; set; }
member this.StartTimeOfDay : int with get, set
Public Overridable Property StartTimeOfDay As Integer

Wartość właściwości

Godzina, o którą drukarka po raz pierwszy stanie się dostępna, wyrażona jako liczba minut po północy (UTC). Wartość maksymalna to 1439. Gdy drukarka jest instalowana po raz pierwszy 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 czas letni nie jest obowiązywać, czas lokalny wynosi 8 godzin wcześniej niż UTC. Aby ustawić wartość StartTimeOfDay 12:00 w strefie czasowej, ustaw ją na 8:00 czasu UTC, czyli 480 (= 8 * 60). Należy również pamiętać, że czas jest przerzucany na zero po 24 godzinach (czyli po 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ć przydatne metody manipulowania strefą czasową.

Jeśli drukarka jest zawsze dostępna, ta właściwość zwraca wartość 0 we wszystkich strefach czasowych.

Dotyczy

Zobacz też