Поделиться через


PrintQueue.StartTimeOfDay Свойство

Определение

Получает или задает самое раннее время дня, выраженное как количество минут после полуночи в формате UTC (время по Гринвичу [GMT]), когда принтер будет печатать задание.

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

Значение свойства

Время дня, когда принтер впервые становится доступен, выраженное как число минут после полуночи в формате UTC. Максимальное значение равно 1439. При первой установке принтера с помощью мастера добавления принтера Microsoft Windows принтер по умолчанию доступен постоянно, и это свойство возвращает значение 0 во всех часовых поясах.

Примеры

В следующем примере показано, как использовать это свойство, чтобы определить, доступен ли принтер в настоящее время.

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

Комментарии

Если вы не находитесь в часовом поясе UTC, необходимо сложить или вычесть кратные 60, чтобы задать или получить правильное время для вашего часового пояса. Например, если вы находитесь в тихоокеанском часовом поясе Северная Америка и летнее время не действует, то местное время на 8 часов раньше UTC. Чтобы задать StartTimeOfDay для часового пояса значение 12:00, установите для него значение 8:00 (UTC), то есть 480 (= 8 * 60). Также необходимо помнить, что время скатывается до нуля через 24 часа (то есть после 1439-й минуты). Чтобы задать для него значение 18:00 в часовом поясе, установите значение 2:00 (UTC), то есть 120 (= 2 * 60). Сведения о полезных методах управления часовыми поясами см. в разделе TimeZoneКлассы , TimeSpanи DateTime .

Если принтер всегда доступен, то это свойство возвращает значение 0 во всех часовых поясах.

Применяется к

См. также раздел