PrintSystemJobInfo.StartTimeOfDay 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 hora más temprana 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 la impresora comenzará a imprimir el trabajo de impresión.
public:
property int StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer
Valor de propiedad
Int32 que especifica la posible hora de inicio más temprana para el trabajo de impresión, 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.StartTimeOfDay propiedad del hospedaje PrintQueue en el momento en que el trabajo entra en la cola. Si PrintQueue.StartTimeOfDay se cambia, se cambia cualquier PrintSystemJobInfo.StartTimeOfDay valor anterior PrintQueue.StartTimeOfDay que se cambia al valor de PrintQueue.StartTimeOfDay.
Después de agregar el trabajo a la cola, se puede proporcionar un nuevo StartTimeOfDay valor a través de la interfaz de usuario (UI) de Microsoft Windows, siempre que no sea anterior a PrintQueue.StartTimeOfDay.
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 antes de la hora UTC. Si StartTimeOfDay devuelve 960, significa 16:00 (14: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 StartTimeOfDay 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 ver 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.