PrintSystemJobInfo.StartTimeOfDay Propriété

Définition

Obtient la première heure de la journée, exprimée en nombre de minutes à partir de minuit dans le temps universel coordonné (UTC) (également appelé temps moyen de Greenwich [GMT]), à laquelle le travail d'impression peut commencer.

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

Valeur de propriété

Int32 qui spécifie la première heure de commencement possible d'un travail d'impression, exprimée en nombre de minutes après minuit (UTC). La valeur maximale est 1439.

Exemples

L’exemple suivant montre comment utiliser cette propriété dans le cadre du processus de diagnostic d’un travail d’impression problématique.

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

Remarques

Cette valeur est propagée à chaque PrintSystemJobInfo objet à partir de la PrintQueue.StartTimeOfDay propriété de l’hébergement PrintQueue au moment où le travail entre dans la file d’attente. Si PrintQueue.StartTimeOfDay est modifié, toute PrintSystemJobInfo.StartTimeOfDay valeur antérieure PrintQueue.StartTimeOfDay à est remplacée par la valeur de PrintQueue.StartTimeOfDay.

Une fois le travail ajouté à la file d’attente, une nouvelle StartTimeOfDay valeur peut lui être attribuée via l’interface utilisateur De Microsoft Windows, à condition qu’elle ne soit pas antérieure à PrintQueue.StartTimeOfDay.

Si vous n’êtes pas dans le fuseau horaire UTC, vous devez ajouter ou soustraire des multiples de 60 pour obtenir l’heure correcte pour votre fuseau horaire. Par exemple, si vous vous trouvez dans le fuseau horaire du Pacifique de Amérique du Nord et que l’heure d’été n’est pas appliquée, votre heure locale est de 8 heures avant UTC. Si StartTimeOfDay retourne 960, cela signifie 16 :00 (16 :00) en UTC (car 960/60 = 16). Pour la convertir en heure du Pacifique, vous devez soustraire 480 (= 8 * 60) minutes.

Vous devez également vous rappeler que le temps passe à zéro après 24 heures (c’est-à-dire après la 1439e minute). Si StartTimeOfDay retourne 120, cela signifie 02 :00 EN UTC. Pour le convertir en heure du Pacifique, vous devez soustraire 480 minutes, ce qui donne -360. Pour obtenir une valeur positive qui a une signification, ajoutez le nombre négatif au nombre total de minutes d’une journée, 1440, ce qui donne une valeur finale de 1080 (18 :00) heure du Pacifique.

Consultez TimeZone, TimeSpanet DateTime pour connaître les méthodes qui aident à effectuer des ajustements de fuseau horaire.

Si l’imprimante est toujours disponible, cette propriété retourne 0 dans tous les fuseaux horaires.

S’applique à

Voir aussi