PrintQueue.StartTimeOfDay Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.