PrintQueue.StartTimeOfDay Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Yazıcının işi yazdıracağı gece yarısı Eşgüdümlü Evrensel Saat 'den (UTC) sonraki dakika sayısı (Greenwich Ortalama Saati [GMT] olarak da adlandırılır) olarak ifade edilen günün en erken saatini alır veya ayarlar.
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
Özellik Değeri
Yazıcının ilk kullanılabilir olduğu gün, gece yarısından (UTC) sonraki dakika sayısı olarak ifade edilir. En yüksek değer 1439'dur. Yazıcı Ekleme Sihirbazı Microsoft Windows kullanılarak bir yazıcı ilk kez yüklendiğinde, yazıcı varsayılan olarak her zaman kullanılabilir duruma gelir ve bu özellik tüm saat dilimlerinde 0 döndürür.
Örnekler
Aşağıdaki örnekte, yazıcının şu anda kullanılabilir olup olmadığını belirlemek için bu özelliğin nasıl kullanılacağı gösterilmektedir.
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
Açıklamalar
UTC saat diliminde değilseniz, saat diliminiz için doğru saati ayarlamak veya almak için 60'ın katlarını eklemeniz veya çıkarmanız gerekir. Örneğin, Kuzey Amerika Pasifik Saat Dilimi'ndeyseniz ve yaz saati etkin değilse, yerel saatiniz UTC'den 8 saat erkendir. Saat diliminizde 12:00 olarak ayarlamak StartTimeOfDay için bunu 08:00 (08:00) (= 8 * 60) olarak ayarlarsınız. Ayrıca, zamanın 24 saat sonra (yani 1439. dakikadan sonra) sıfıra yuvarlandığını da unutmayın. Saat diliminizde 18:00 olarak ayarlamak için 120 (= 2 * 60) olan 02:00 UTC olarak ayarlarsınız. Yararlı saat dilimi işleme yöntemleri için bkz TimeZone. , TimeSpanve DateTime sınıfları.
Yazıcı her zaman kullanılabilir durumdaysa, bu özellik tüm saat dilimlerinde 0 döndürür.