Share via


PrintSystemJobInfo.UntilTimeOfDay Vlastnost

Definice

Získá poslední čas dne vyjádřený jako počet minut po půlnoci koordinovaného univerzálního času (UTC) (označovaný také jako greenwichský střední čas [GMT]), že může začít tisknout tisková úloha.

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

Hodnota vlastnosti

Určuje Int32 čas posledního tisku úlohy vyjádřený počtem minut po půlnoci (UTC). Maximální hodnota je 1439.

Příklady

Následující příklad ukazuje, jak použít tuto vlastnost jako součást procesu diagnostiky problematické tiskové úlohy.

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

Poznámky

Tato hodnota se rozšíří do každého PrintSystemJobInfo objektu PrintQueue.UntilTimeOfDay z vlastnosti hostování PrintQueue v okamžiku, kdy úloha vstoupí do fronty. Pokud PrintQueue.UntilTimeOfDay dojde ke změně, pak se jakákoli PrintSystemJobInfo.UntilTimeOfDay hodnota, která je pozdější než PrintQueue.UntilTimeOfDay , změní na hodnotu PrintQueue.UntilTimeOfDay.

Po přidání úlohy do fronty je možné jí prostřednictvím uživatelského rozhraní (UI) systému Microsoft Windows přidělit novou UntilTimeOfDay hodnotu za předpokladu, že není pozdější než PrintQueue.UntilTimeOfDay.

Pokud nejste v časovém pásmu UTC, musíte přičíst nebo odečíst násobky 60, abyste získali správný čas pro vaše časové pásmo. Pokud se například nacházíte v tichomořském časovém pásmu Severní Amerika a letní čas neplatí, je místní čas o 8 hodin starší než UTC. Pokud UntilTimeOfDay vrátí hodnotu 960, znamená to 16:00 (16:00) v UTC (protože 960/60 = 16). Pokud ho chcete převést na tichomořský čas, musíte odečíst 480 (= 8 × 60) minut.

Nezapomeňte také, že čas se po 24 hodinách (tedy po 1439. minutě) mění na nulu. Pokud UntilTimeOfDay vrátí hodnotu 120, znamená to 2:00 v utc. Chcete-li převést na tichomořský čas, musíte odečíst 480 minut, což má za následek -360. Pokud chcete získat kladnou hodnotu, která má význam, přičte záporné číslo k celkovému počtu minut za den 1440, čímž vznikne konečná hodnota 1080 (18:00) tichomořského času.

Metody, TimeSpankteré pomáhají s úpravami časových pásem, najdete v tématu TimeZone, a DateTime .

Pokud je tiskárna vždy dostupná, vrátí tato vlastnost hodnotu 0 ve všech časových pásmech.

Platí pro

Viz také