Aracılığıyla paylaş


PrintSystemJobInfo.UntilTimeOfDay Özellik

Tanım

Yazdırma işinin yazdırmaya başlayabildiği, 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 son saatini alır.

public:
 property int UntilTimeOfDay { int get(); };
public int UntilTimeOfDay { get; }
member this.UntilTimeOfDay : int
Public ReadOnly Property UntilTimeOfDay As Integer

Özellik Değeri

Int32 İşin en son ne zaman yazdırılacağını belirten ve gece yarısından (UTC) sonraki dakika sayısı olarak ifade edilen bir. En büyük değer 1439'dur.

Örnekler

Aşağıdaki örnekte, sorunlu bir yazdırma işini tanılama işleminin bir parçası olarak bu özelliğin nasıl kullanılacağı gösterilmektedir.

static Boolean ReportAvailabilityAtThisTime (PrintSystemJobInfo^ theJob) 
{
   Boolean available = true;
   if (theJob->StartTimeOfDay != theJob->UntilTimeOfDay)
   {
      DateTime utcNow = DateTime::UtcNow;
      Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;

      // If "now" is not within the range of available times . . .
      if (!((theJob->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < theJob->UntilTimeOfDay)))
      {
         available = false;
      }
   }
   return available;
}
private static Boolean ReportAvailabilityAtThisTime(PrintSystemJobInfo theJob)
{
    Boolean available = true;
    if (theJob.StartTimeOfDay != theJob.UntilTimeOfDay) // If the job cannot be printed at all times of 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 (!((theJob.StartTimeOfDay < utcNowAsMinutesAfterMidnight) 
           && 
           (utcNowAsMinutesAfterMidnight < theJob.UntilTimeOfDay)))
        {
            available = false;
        }
    }
    return available;
}//end ReportAvailabilityAtThisTime
Private Shared Function ReportAvailabilityAtThisTime(ByVal theJob As PrintSystemJobInfo) As Boolean
    Dim available As Boolean = True
    If theJob.StartTimeOfDay <> theJob.UntilTimeOfDay Then ' If the job cannot be printed at all times of 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((theJob.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < theJob.UntilTimeOfDay)) Then
            available = False
        End If
    End If
    Return available
End Function 'end ReportAvailabilityAtThisTime

Açıklamalar

Bu değer, işin kuyruğa girdiği sırada barındırma PrintQueue özelliğinden PrintQueue.UntilTimeOfDay her PrintSystemJobInfo nesneye yayılır. değiştirilirsePrintQueue.UntilTimeOfDay, değerinden PrintQueue.UntilTimeOfDay sonraki tüm PrintSystemJobInfo.UntilTimeOfDay değerler değerine PrintQueue.UntilTimeOfDaydeğiştirilir.

İş kuyruğa eklendikten sonra, daha sonra PrintQueue.UntilTimeOfDayolmaması koşuluyla Microsoft Windows kullanıcı arabirimi (UI) aracılığıyla yeni UntilTimeOfDay bir değer verilebilir.

UTC saat diliminde değilseniz, saat diliminiz için doğru zamanı elde etmek 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. 960 döndürürse UntilTimeOfDay , bu UTC'de 16:00 (16:00) anlamına gelir (çünkü 960/60 = 16). Bunu Pasifik Saati'ne dönüştürmek için 480 (= 8 * 60) dakika çıkarmanız gerekir.

Ayrıca, zamanın 24 saat sonra (yani 1439. dakikadan sonra) sıfıra yuvarlandığını da unutmayın. 120 döndürürse UntilTimeOfDay , bu UTC ile 02:00 anlamına gelir. Bunu Pasifik Saati'ne dönüştürmek için 480 dakika çıkarmanız gerekir ve bu da -360 sonucunu döndürür. Anlamı olan pozitif bir değer elde etmek için negatif sayıyı 1440 gün içindeki toplam dakika sayısına ekleyerek 1080 (18:00) Pasifik Saati değerinin son değerini elde edin.

Saat dilimi ayarlamalarına yardımcı olan yöntemler için bkz TimeZone. , TimeSpanve DateTime .

Yazıcı her zaman kullanılabilir durumdaysa, bu özellik tüm saat dilimlerinde 0 döndürür.

Şunlara uygulanır

Ayrıca bkz.