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) (Greenwich Saati [GMT] olarak da adlandırılır) sonraki dakika sayısı 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ıma sunulduğu gün, gece yarısından (UTC) sonraki dakika sayısı olarak ifade edilir. En büyük değer 1439'dur. Bir yazıcı Microsoft Windows Yazıcı Ekleme Sihirbazı kullanılarak 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 Dilimindeyseniz ve yaz saati etkin değilse, yerel saatiniz UTC'den 8 saat öncesidir. Saat diliminizde 12:00 olarak ayarlamak StartTimeOfDay için bunu 08:00 (480 (= 8 * 60) utc 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 düzenleme 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.