Bagikan melalui


PrintSystemJobInfo.StartTimeOfDay Properti

Definisi

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.

Berlaku untuk

Lihat juga