Share via


PrintQueue.StartTimeOfDay Özellik

Tanım

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.

Şunlara uygulanır

Ayrıca bkz.