Aracılığıyla paylaş


PrintQueue.UntilTimeOfDay Özellik

Tanım

Yazıcının bir 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 en son saati alır veya ayarlar.

public:
 virtual property int UntilTimeOfDay { int get(); void set(int value); };
public virtual int UntilTimeOfDay { get; set; }
member this.UntilTimeOfDay : int with get, set
Public Overridable Property UntilTimeOfDay As Integer

Özellik Değeri

Yazıcının artık kullanılamadığı günün saati, 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 UntilTimeOfDay için bunu 08:00 (480 (= 8 * 60) utc olarak ayarlarsınız. Ayrıca, zamanın 24. saatten (1439. dakika) 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.