PrintSystemJobInfo.UntilTimeOfDay Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.