PrintQueue.StartTimeOfDay Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta la prima ora del giorno, espressa come numero di minuti dopo la mezzanotte utc (Coordinated Universal Time) (chiamata anche Ora utc di Greenwich [GMT]), che la stampante stamperà un processo.
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
Valore della proprietà
Ora del giorno in cui la stampante diventa prima disponibile, espressa come numero di minuti dopo mezzanotte (UTC). Il valore massimo è 1439. Quando una stampante viene installata per la prima volta utilizzando la Microsoft Windows Aggiungi stampante guidata, per impostazione predefinita la stampante è disponibile per tutto il tempo e questa proprietà restituisce 0 in tutti i fusi orari.
Esempio
Nell'esempio seguente viene illustrato come utilizzare questa proprietà per determinare se una stampante è attualmente disponibile.
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
Commenti
Se non si è nel fuso orario UTC, è necessario aggiungere o sottrarre più di 60 per impostare o ottenere l'ora corretta per il fuso orario. Ad esempio, se ci si trova nel fuso orario Pacifico dell'America del Nord e l'ora legale non è attiva, l'ora locale è 8 ore prima dell'ora UTC. Per impostare StartTimeOfDay su 12 AM nel fuso orario, impostarlo su 8 AM UTC, ovvero 480 (= 8 * 60). È anche necessario ricordare che il tempo passa a zero dopo 24 ore (vale a dire dopo il 1439° minuto). Per impostarlo su 6 PM nel fuso orario, impostarlo su 2 AM UTC, ovvero 120 (= 2 * 60). Per informazioni utili sul fuso orario, vedere TimeZoneclassi , TimeSpane DateTime .
Se la stampante è sempre disponibile, questa proprietà restituisce 0 in tutti i fusi orari.