Bagikan melalui


PrintSystemJobInfo.UntilTimeOfDay Properti

Definisi

Mendapatkan waktu terakhir dalam sehari, yang dinyatakan sebagai jumlah menit setelah waktu Universal Terkoordinasi tengah malam (UTC) (juga disebut Greenwich Mean Time [GMT]), bahwa pekerjaan cetak dapat mulai mencetak.

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

Nilai Properti

Int32 Yang menentukan terakhir kali pekerjaan dapat dicetak, dinyatakan sebagai jumlah menit setelah tengah malam (UTC). Nilai maksimum adalah 1439.

Contoh

Contoh berikut menunjukkan cara menggunakan properti ini sebagai bagian dari proses mendiagnosis pekerjaan cetak yang bermasalah.

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

Keterangan

Nilai ini disebarkan ke setiap PrintSystemJobInfo objek dari PrintQueue.UntilTimeOfDay properti hosting PrintQueue pada saat pekerjaan memasuki antrean. Jika PrintQueue.UntilTimeOfDay diubah, maka nilai apa pun PrintSystemJobInfo.UntilTimeOfDay yang lebih baru diubah PrintQueue.UntilTimeOfDay ke nilai PrintQueue.UntilTimeOfDay.

Setelah pekerjaan ditambahkan ke antrean, pekerjaan dapat diberikan nilai baru UntilTimeOfDay melalui antarmuka pengguna (UI) Microsoft Windows, asalkan tidak lebih lambat dari PrintQueue.UntilTimeOfDay.

Jika Anda tidak berada di zona waktu UTC, Anda harus menambahkan atau mengurangi kelipatan 60 untuk mendapatkan waktu yang benar untuk zona waktu Anda. Misalnya, jika Anda berada di Zona Waktu Pasifik Amerika Utara dan waktu musim panas tidak berlaku, maka waktu lokal Anda adalah 8 jam lebih awal dari UTC. Jika UntilTimeOfDay mengembalikan 960, itu berarti 16:00 (16:00) dalam UTC (karena 960/60 = 16). Untuk mengonversi ini ke Waktu Pasifik, Anda harus mengurangi 480 (= 8 * 60) menit.

Anda juga harus ingat bahwa waktu bergulir ke nol setelah 24 jam (yaitu; setelah menit ke-1439). Jika UntilTimeOfDay mengembalikan 120, itu berarti pukul 02.00 di UTC. Untuk mengonversi ini ke Waktu Pasifik, Anda harus mengurangi 480 menit, yang menghasilkan -360. Untuk mendapatkan nilai positif yang memiliki arti, tambahkan angka negatif ke total menit dalam sehari, 1440, menghasilkan nilai akhir 1080 (18:00 PM) Waktu Pasifik.

Lihat TimeZone, TimeSpan, dan DateTime untuk metode yang membantu membuat penyesuaian zona waktu.

Jika printer selalu tersedia, maka properti ini mengembalikan 0 di semua zona waktu.

Berlaku untuk

Lihat juga