Compartilhar via


PrintSystemJobInfo.StartTimeOfDay Propriedade

Definição

Obtém a primeira hora do dia, expressa como o número de minutos após a meia-noite, de acordo com o UTC (Tempo Universal Coordenado), também chamado de GMT (Horário do Meridiano de Greenwich), em que o trabalho de impressão poderá começar a ser impresso.

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

Valor da propriedade

Um Int32 que especifica a hora de início mais antiga possível para o trabalho de impressão, expresso como o número de minutos após a meia-noite (UTC). O valor máximo é 1439.

Exemplos

O exemplo a seguir mostra como usar essa propriedade como parte do processo de diagnóstico de um trabalho de impressão problemático.

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

Comentários

Esse valor é propagado para cada PrintSystemJobInfo objeto da PrintQueue.StartTimeOfDay propriedade da hospedagem PrintQueue no momento em que o trabalho entra na fila. Se PrintQueue.StartTimeOfDay for alterado, qualquer PrintSystemJobInfo.StartTimeOfDay valor anterior PrintQueue.StartTimeOfDay a será alterado para o valor de PrintQueue.StartTimeOfDay.

Depois que o trabalho é adicionado à fila, ele pode receber um novo StartTimeOfDay valor por meio da interface do usuário do Microsoft Windows, desde que não seja anterior a PrintQueue.StartTimeOfDay.

Se você não estiver no fuso horário UTC, deverá adicionar ou subtrair múltiplos de 60 para obter a hora correta para o fuso horário. Por exemplo, se você estiver no Fuso Horário do Pacífico de América do Norte e o horário de verão não estiver em vigor, o horário local será 8 horas mais cedo que o UTC. Se StartTimeOfDay retornar 960, isso significará 16:00 (16:00) em UTC (porque 960/60 = 16). Para converter isso em Hora do Pacífico, você deve subtrair 480 (= 8 * 60) minutos.

Você também deve lembrar que o tempo passa para zero após 24 horas (ou seja, após o 1439º minuto). Se StartTimeOfDay retornar 120, isso significará 2:00 am em UTC. Para converter isso em Hora do Pacífico, você deve subtrair 480 minutos, o que resulta em -360. Para obter um valor positivo que tenha significado, adicione o número negativo ao total de minutos em um dia, 1440, resultando em um valor final de 1080 (18:00) Hora do Pacífico.

Consulte TimeZone, TimeSpane DateTime para obter métodos que ajudam a fazer ajustes de fuso horário.

Se a impressora estiver sempre disponível, essa propriedade retornará 0 em todos os fusos horários.

Aplica-se a

Confira também