Condividi tramite


PrintSystemJobInfo.StartTimeOfDay Proprietà

Definizione

Ottiene il primo 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 StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer

Valore della proprietà

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

Esempio

Nell'esempio seguente viene illustrato come usare 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.StartTimeOfDay proprietà dell'hosting PrintQueue al momento in cui il processo entra nella coda. Se PrintQueue.StartTimeOfDay viene modificato, qualsiasi PrintSystemJobInfo.StartTimeOfDay valore precedente a PrintQueue.StartTimeOfDay quello che viene modificato nel valore di PrintQueue.StartTimeOfDay.

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

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 si è nel fuso orario Pacifico di America del Nord e l'ora legale non è effettiva, l'ora locale è di 8 ore prima dell'ORA UTC. Se StartTimeOfDay restituisce 960, significa 16:00 (4:00 PM) in UTC (perché 960/60 = 16). Per convertire questo valore in Pacific Time, è necessario sottrarre 480 (= 8 * 60) minuti.

È anche necessario ricordare che il tempo passa a zero dopo 24 ore ,ovvero dopo il 1439° minuto. Se StartTimeOfDay restituisce 120, significa che le 2:00 sono in formato UTC. Per convertire questo valore in Pacific Time, è necessario sottraere 480 minuti, che comporta -360. Per ottenere un valore positivo che ha significato, aggiungere il numero negativo ai minuti totali in un giorno, 1440, causando un valore finale di 1080 (6:00 PM) Tempo 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