PrintSystemJobInfo.UntilTimeOfDay Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.