PrintSystemJobInfo.UntilTimeOfDay Propiedad

Definición

Obtiene la última hora del día, expresada como el número de minutos después de medianoche de la hora universal coordinada (UTC) (también denominada hora del meridiano de Greenwich [GMT]), a la que puede comenzar el trabajo de impresión.

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

Valor de propiedad

Int32 que especifica la última hora a la que el trabajo puede imprimirse, expresada como el número de minutos después de la medianoche (hora UTC). El valor máximo es 1439.

Ejemplos

En el ejemplo siguiente se muestra cómo usar esta propiedad como parte del proceso de diagnóstico de un trabajo de impresión 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

Comentarios

Este valor se propaga a cada PrintSystemJobInfo objeto de la PrintQueue.UntilTimeOfDay propiedad del hospedaje PrintQueue en el momento en que el trabajo entra en la cola. Si PrintQueue.UntilTimeOfDay se cambia, se cambia cualquier PrintSystemJobInfo.UntilTimeOfDay valor que sea posterior PrintQueue.UntilTimeOfDay al valor de PrintQueue.UntilTimeOfDay.

Después de agregar el trabajo a la cola, se puede proporcionar un nuevo UntilTimeOfDay valor a través de la interfaz de usuario (UI) de Microsoft Windows, siempre que no sea posterior a PrintQueue.UntilTimeOfDay.

Si no está en la zona horaria UTC, debe agregar o restar múltiplos de 60 para 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 anteriores a las UTC. Si UntilTimeOfDay devuelve 960, eso significa 16:00 (4:00 p. m.) en UTC (porque 960/60 = 16). Para convertir esto a la hora del Pacífico, debe restar 480 (= 8 * 60) minutos.

También debe recordar que el tiempo pasa a cero después de 24 horas (es decir, después del minuto 1439). Si UntilTimeOfDay devuelve 120, significa 2:00 a. m. en UTC. Para convertir esto a la hora del Pacífico, debe restar 480 minutos, lo que da como resultado -360. Para obtener un valor positivo que tenga significado, agregue el número negativo al total de minutos en un día, 1440, lo que da como resultado un valor final de 1080 (6:00 PM) Hora del Pacífico.

Consulte TimeZone, TimeSpany DateTime para conocer los métodos que ayudan a realizar ajustes de zona horaria.

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

Se aplica a

Consulte también