PrintSystemJobInfo.UntilTimeOfDay Свойство

Определение

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

public:
 property int UntilTimeOfDay { int get(); };
public int UntilTimeOfDay { get; }
member this.UntilTimeOfDay : int
Public ReadOnly Property UntilTimeOfDay 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.UntilTimeOfDay свойства размещения PrintQueue во время входа задания в очередь. Если PrintQueue.UntilTimeOfDay значение изменено, то любое PrintSystemJobInfo.UntilTimeOfDay значение, которое является более поздним, изменяется PrintQueue.UntilTimeOfDay на значение PrintQueue.UntilTimeOfDay.

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

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

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

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

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

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

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