PrintQueue.StartTimeOfDay Propriedade

Definição

Obtém ou define 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]), em que a impressora irá imprimir um trabalho.

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

Valor de Propriedade

A hora do dia em que a impressora fica disponível pela primeira vez, expressa como o número de minutos após a meia-noite (UTC). O valor máximo é 1439. Quando uma impressora é instalada pela primeira vez usando o Assistente de Adicionar Impressora Microsoft Windows, a impressora passa a estar disponível o tempo todo, e esta propriedade devolve 0 em todos os fusos horários.

Exemplos

O exemplo seguinte mostra como usar esta propriedade para determinar se uma impressora está disponível no momento.

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

Observações

Se não estiver no fuso horário UTC, deve somar ou subtrair múltiplos de 60 para definir ou 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. Para definir StartTimeOfDay para 12h no seu fuso horário, define para 8h UTC, o que corresponde a 480 (= 8 * 60). Também tens de te lembrar que o tempo chega a zero após 24 horas (isto é; depois do minuto 1439). Para definir para as 18h no seu fuso horário, define para as 2h UTC, o que corresponde às 120 (= 2 * 60). Ver TimeZone, TimeSpan, e DateTime classes para métodos úteis de manipulação 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