PrintSystemJobInfo.StartTimeOfDay 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 paling awal dalam sehari, yang dinyatakan sebagai jumlah menit setelah tengah malam Waktu Universal Terkoordinasi (UTC) (juga disebut Greenwich Mean Time [GMT]), bahwa pekerjaan cetak dapat mulai mencetak.
public:
property int StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer
Nilai Properti
Menentukan Int32 waktu mulai paling awal untuk pekerjaan cetak, dinyatakan sebagai jumlah menit setelah tengah malam (UTC). Nilai maksimumnya 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.StartTimeOfDay properti hosting PrintQueue pada saat pekerjaan memasuki antrean. Jika PrintQueue.StartTimeOfDay diubah, maka nilai apa pun PrintSystemJobInfo.StartTimeOfDay yang lebih awal dari PrintQueue.StartTimeOfDay diubah ke nilai PrintQueue.StartTimeOfDay.
Setelah pekerjaan ditambahkan ke antrean, pekerjaan dapat diberikan nilai baru StartTimeOfDay melalui antarmuka pengguna (UI) Microsoft Windows, asalkan tidak lebih awal dari PrintQueue.StartTimeOfDay.
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 StartTimeOfDay mengembalikan 960, itu berarti 16:00 (16:00) di 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 StartTimeOfDay 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 (180: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.