PrintSystemJobInfo.StartTimeOfDay Свойство

Определение

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

public:
 property int StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer

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

Значение типа Int32, указывающее самое раннее возможное время запуска задания печати, выраженное как количество минут после полуночи в формате UTC. Максимальное значение равно 1439.

Примеры

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

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

Комментарии

Это значение распространяется на каждый PrintSystemJobInfo объект из PrintQueue.StartTimeOfDay свойства размещения PrintQueue во время входа задания в очередь. Если PrintQueue.StartTimeOfDay значение изменено, то любое PrintSystemJobInfo.StartTimeOfDay значение, которое раньше PrintQueue.StartTimeOfDay , меняется на значение PrintQueue.StartTimeOfDay.

После добавления задания в очередь ему может быть присвоено новое StartTimeOfDay значение через пользовательский интерфейс Microsoft Windows при условии, что оно не ранее PrintQueue.StartTimeOfDay.

Если вы не находитесь в часовом поясе UTC, необходимо сложить или вычесть кратные 60, чтобы получить правильное время для вашего часового пояса. Например, если вы находитесь в тихоокеанском часовом поясе Северная Америка и летнее время не действует, то местное время на 8 часов раньше UTC. Если StartTimeOfDay возвращает значение 960, это означает, что 16:00 (16:00) в формате UTC (так как 960/60 = 16). Чтобы преобразовать это значение в тихоокеанское время, необходимо вычесть 480 (= 8 * 60) минут.

Также необходимо помнить, что время скатывается до нуля через 24 часа (то есть после 1439-й минуты). Если StartTimeOfDay возвращает значение 120, это означает 2:00 в формате UTC. Чтобы преобразовать это значение в тихоокеанское время, необходимо вычесть 480 минут, что приведет к -360. Чтобы получить положительное значение, которое имеет значение, добавьте отрицательное число к общему значению минут в день 1440, что приведет к конечному значению 1080 (18:00) по тихоокеанскому времени.

Методы, помогающие корректировать часовой пояс, см TimeZone. в разделе , TimeSpanи DateTime .

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

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

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