PrintQueue.StartTimeOfDay Propriété

Définition

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

public:
 virtual property int StartTimeOfDay { int get(); void set(int value); };
public virtual int StartTimeOfDay { get; set; }
member this.StartTimeOfDay : int with get, set
Public Overridable Property StartTimeOfDay As Integer

Valeur de propriété

Int32

Première heure de la journée à laquelle l'imprimante devient disponible, exprimée en nombre de minutes après minuit (UTC). La valeur maximale est 1439. Lorsqu’une imprimante est installée pour la première fois à l’aide de l’Assistant Ajout d’imprimante Microsoft Windows, l’imprimante est par défaut disponible toutes les fois, et cette propriété retourne 0 dans tous les fuseaux horaires.

Exemples

L’exemple suivant montre comment utiliser cette propriété pour déterminer si une imprimante est disponible à l’heure actuelle.

private: 
   static void ReportAvailabilityAtThisTime (System::String^% statusReport, System::Printing::PrintQueue^ pq) 
   {
      if (pq->StartTimeOfDay != pq->UntilTimeOfDay)
      {
         System::DateTime utcNow = DateTime::UtcNow;
         System::Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;

         // If now is not within the range of available times . . .
         if (!((pq->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < pq->UntilTimeOfDay)))
         {
            statusReport = statusReport + " Is not available at this time of day. ";
         }
      }
   };
private static void ReportAvailabilityAtThisTime(ref String statusReport, PrintQueue pq)
{
    if (pq.StartTimeOfDay != pq.UntilTimeOfDay) // If the printer is not available 24 hours a 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 (!((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight) 
           &&
           (utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)))
        {
            statusReport = statusReport + " Is not available at this time of day. ";
        }
    }
}
Private Shared Sub ReportAvailabilityAtThisTime(ByRef statusReport As String, ByVal pq As PrintQueue)
    If pq.StartTimeOfDay <> pq.UntilTimeOfDay Then ' If the printer is not available 24 hours a 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((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)) Then
            statusReport = statusReport & " Is not available at this time of day. "
        End If
    End If
End Sub

Remarques

Si vous n’êtes pas dans le fuseau horaire UTC, vous devez ajouter ou soustraire plusieurs de 60 pour définir ou obtenir l’heure correcte pour votre fuseau horaire. Par exemple, si vous êtes dans le fuseau horaire pacifique de Amérique du Nord et que l’heure d’été n’est pas en vigueur, votre heure locale est de 8 heures plus tôt que UTC. Pour définir StartTimeOfDay la valeur 12H dans votre fuseau horaire, vous l’avez définie sur 8 HEURES UTC, soit 480 (= 8 * 60). Vous devez également vous rappeler que le temps passe à zéro après 24 heures (autrement dit; après la 1439e minute). Pour le définir sur 6 h dans votre fuseau horaire, vous le définissez sur 2 h UTC, soit 120 (= 2 * 60). Consultez TimeZone, et TimeSpanDateTime les classes pour les méthodes de manipulation de fuseau horaire utiles.

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

S’applique à

Voir aussi