PrintQueue.UntilTimeOfDay Propiedad

Definición

Obtiene o establece la hora más reciente, expresada como el número de minutos después de la medianoche hora universal coordinada (UTC) (también denominada Hora media de Greenwich [GMT]), que la impresora imprimirá un trabajo.

public:
 virtual property int UntilTimeOfDay { int get(); void set(int value); };
public virtual int UntilTimeOfDay { get; set; }
member this.UntilTimeOfDay : int with get, set
Public Overridable Property UntilTimeOfDay As Integer

Valor de propiedad

Hora del día en que la impresora ya no está disponible, expresada como el número de minutos después de la medianoche (UTC). El valor máximo es 1439. Cuando una impresora se instala por primera vez mediante el asistente para agregar impresora Microsoft Windows, la impresora tiene como valor predeterminado estar disponible todo el tiempo y esta propiedad devuelve 0 en todas las zonas horarias.

Ejemplos

En el ejemplo siguiente se muestra cómo usar esta propiedad para determinar si una impresora está disponible en este 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

Comentarios

Si no está en la zona horaria UTC, debe agregar o restar múltiplos de 60 para establecer o obtener la hora correcta para la zona horaria. Por ejemplo, si se encuentra en la zona horaria del Pacífico de Norteamérica y el horario de verano no está en vigor, la hora local es de 8 horas antes de las UTC. Para establecer UntilTimeOfDay en 12 AM en la zona horaria, establézcalo en 8 a.m. UTC, que es 480 (= 8 * 60). También debe recordar que el tiempo pasa a cero después de la 24ª hora (el minuto 1439). Para establecerlo en 6 p. m. en la zona horaria, establézcalo en 2 a.m. UTC, que es 120 (= 2 * 60). Consulte TimeZoneclases , TimeSpany DateTime para obtener métodos útiles de manipulación de zonas horarias.

Si la impresora siempre está disponible, esta propiedad devuelve 0 en todas las zonas horarias.

Se aplica a

Consulte también