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é

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 en permanence, et cette propriété renvoie 0 dans tous les fuseaux horaires.

Exemples

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

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 des multiples de 60 pour définir ou 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. Pour définir StartTimeOfDay sur 12 h dans votre fuseau horaire, vous le définissez sur 8 h UTC, soit 480 (= 8 * 60). Vous devez également vous rappeler que le temps passe à zéro après 24 heures (c’est-à-dire après la 1439e minute). Pour le définir sur 18 h dans votre fuseau horaire, vous le définissez sur 2 h UTC, soit 120 (= 2 * 60). Consultez TimeZoneles classes , TimeSpanet DateTime pour connaître 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