Udostępnij za pośrednictwem


PrintSystemJobInfo.StartTimeOfDay Właściwość

Definicja

Pobiera najwcześniejszą godzinę dnia, wyrażoną jako liczbę minut po północy uniwersalny czas koordynowany (UTC) (nazywany również Greenwich Mean Time [GMT]), że zadanie drukowania może rozpocząć drukowanie.

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

Wartość właściwości

Określenie Int32 najwcześniejszego możliwego czasu rozpoczęcia zadania drukowania wyrażonego jako liczba minut po północy (UTC). Maksymalna wartość to 1439.

Przykłady

W poniższym przykładzie pokazano, jak używać tej właściwości w ramach procesu diagnozowania problematycznego zadania drukowania.

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

Uwagi

Ta wartość jest propagowana do każdego PrintSystemJobInfo obiektu z PrintQueue.StartTimeOfDay właściwości hostingu PrintQueue w momencie wejścia zadania do kolejki. Jeśli PrintQueue.StartTimeOfDay zostanie zmieniona, każda PrintSystemJobInfo.StartTimeOfDay wartość wcześniejsza niż PrintQueue.StartTimeOfDay zostanie zmieniona na wartość PrintQueue.StartTimeOfDay.

Po dodaniu zadania do kolejki można podać nową StartTimeOfDay wartość za pośrednictwem interfejsu użytkownika systemu Microsoft Windows, pod warunkiem, że nie jest on wcześniejszy niż PrintQueue.StartTimeOfDay.

Jeśli nie jesteś w strefie czasowej UTC, musisz dodać lub odjąć wielokrotności 60, aby uzyskać prawidłowy czas dla strefy czasowej. Jeśli na przykład znajdujesz się w strefie czasowej Pacyfiku Ameryka Północna i czasu letniego nie obowiązują, czas lokalny wynosi 8 godzin wcześniej niż UTC. Jeśli StartTimeOfDay zwraca wartość 960, oznacza to 16:00 (16:00) w formacie UTC (ponieważ 960/60 = 16). Aby przekonwertować tę wartość na czas pacyficzny, należy odjąć 480 (= 8 * 60) minut.

Należy również pamiętać, że czas przerzuca się na zero po 24 godzinach (czyli po 1439 minucie). Jeśli StartTimeOfDay zwraca wartość 120, oznacza to 2:00 czasu UTC. Aby przekonwertować tę wartość na czas pacyficzny, należy odjąć 480 minut, co powoduje odejmowanie wartości -360. Aby uzyskać wartość dodatnią, która ma znaczenie, dodaj liczbę ujemną do łącznej liczby minut w ciągu dnia, 1440, co powoduje końcową wartość 1080 (6:00 PM) Czas pacyficzny.

Zobacz TimeZone, TimeSpani, aby DateTime uzyskać metody, które ułatwiają dostosowanie strefy czasowej.

Jeśli drukarka jest zawsze dostępna, ta właściwość zwraca wartość 0 we wszystkich strefach czasowych.

Dotyczy

Zobacz też