PrintSystemJobInfo.UntilTimeOfDay Proprietà

Definizione

Ottiene l'ultimo orario possibile, espresso come numero di minuti dopo la mezzanotte ora UTC (Coordinated Universal Time), nota anche come ora GMT (Greenwich Mean Time), per l'avvio della stampa di un processo.

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

Valore della proprietà

Oggetto Int32 che specifica l'ultimo orario possibile per la stampa del processo, espresso come numero di minuti dopo la mezzanotte (ora UTC). Il valore massimo è 1439.

Esempio

Nell'esempio seguente viene illustrato come utilizzare questa proprietà come parte del processo di diagnosi di un processo di stampa problematico.

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

Commenti

Questo valore viene propagato a ogni PrintSystemJobInfo oggetto dalla PrintQueue.UntilTimeOfDay proprietà dell'hosting PrintQueue al momento in cui il processo entra nella coda. Se PrintQueue.UntilTimeOfDay viene modificato, qualsiasi PrintSystemJobInfo.UntilTimeOfDay valore successivo PrintQueue.UntilTimeOfDay a viene modificato nel valore di PrintQueue.UntilTimeOfDay.

Dopo aver aggiunto il processo alla coda, può essere assegnato un nuovo UntilTimeOfDay valore tramite l'interfaccia utente di Windows Microsoft, purché non sia successiva a PrintQueue.UntilTimeOfDay.

Se non si è nel fuso orario UTC, è necessario aggiungere o sottrarre più di 60 per ottenere l'ora corretta per il fuso orario. Ad esempio, se ci si trova nel fuso orario pacifico di America del Nord e l'ora legale non è attiva, l'ora locale è 8 ore prima dell'ora UTC. Se UntilTimeOfDay restituisce 960, significa 16:00 (16:00 PM) in formato UTC (perché 960/60 = 16). Per convertirlo in Pacific Time, è necessario sottrarre 480 (= 8 * 60) minuti.

È inoltre necessario ricordare che il tempo passa a zero dopo 24 ore (ovvero dopo il 1439° minuto). Se UntilTimeOfDay restituisce 120, significa che le 2:00 sono in formato UTC. Per convertire questo valore in Pacific Time, è necessario sottrarre 480 minuti, che restituisce -360. Per ottenere un valore positivo che ha un significato, aggiungere il numero negativo al numero totale di minuti in un giorno, 1440, ottenendo un valore finale pari a 1080 (6:00 PM) Ora pacifico.

Vedere TimeZone, TimeSpane DateTime per i metodi che consentono di apportare modifiche al fuso orario.

Se la stampante è sempre disponibile, questa proprietà restituisce 0 in tutti i fusi orari.

Si applica a

Vedi anche