PrintSystemJobInfo.StartTimeOfDay Propriedade

Definição

Obtém a hora mais cedo do dia, expressa como o número de minutos após a meia-noite do Tempo Universal Coordenado (UTC) (também chamado de Hora Média de Greenwich [GMT]), que o trabalho de impressão pode começar a imprimir.

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

Valor de Propriedade

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

Exemplos

O exemplo seguinte mostra como usar esta 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

Observações

Este valor é propagado para cada PrintSystemJobInfo objeto a partir da PrintQueue.StartTimeOfDay propriedade do hospedeiro PrintQueue no momento em que o trabalho entra na fila. Se PrintQueue.StartTimeOfDay for alterado, então qualquer PrintSystemJobInfo.StartTimeOfDay valor que seja anterior a PrintQueue.StartTimeOfDay é alterado para o valor de PrintQueue.StartTimeOfDay.

Depois de o trabalho ser adicionado à fila, pode receber um novo valor StartTimeOfDay através da interface de utilizador (UI) do Microsoft Windows, desde que não seja anterior a PrintQueue.StartTimeOfDay.

Se não estiver no fuso horário UTC, deve somar ou subtrair múltiplos de 60 para obter a hora correta para o seu fuso horário. Por exemplo, se estiver no fuso horário do Pacífico da América do Norte e o horário de verão não estiver em vigor, então o seu horário local está 8 horas mais cedo do que o UTC. Se StartTimeOfDay devolver 960, isso significa 16:00 (16:00) em UTC (porque 960/60 = 16). Para converter isto para a Hora do Pacífico, deve subtrair 480 (= 8 * 60) minutos.

Também tens de te lembrar que o tempo chega a zero após 24 horas (isto é; depois do minuto 1439). Se StartTimeOfDay devolver 120, isso significa 2:00 da manhã no UTC. Para converter isto para a Hora do Pacífico, 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 de um dia, 1440, resultando num valor final de 1080 (18:00) hora do Pacífico.

Veja TimeZone, TimeSpan, e DateTime para métodos que ajudam a fazer ajustes de fusos horários.

Se a impressora estiver sempre disponível, então esta propriedade devolve 0 em todos os fusos horários.

Aplica-se a

Ver também