Sdílet prostřednictvím


PrintSystemJobInfo.StartTimeOfDay Vlastnost

Definice

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

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

Hodnota vlastnosti

Určuje Int32 nejbližší možný čas spuštění tiskové úlohy vyjádřený jako počet minut po půlnoci (UTC). Maximální hodnota je 1439.

Příklady

Následující příklad ukazuje, jak tuto vlastnost použít 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.StartTimeOfDay z vlastnosti hostování PrintQueue v okamžiku, kdy úloha vstoupí do fronty. Pokud PrintQueue.StartTimeOfDay dojde ke změně, změní se jakákoli PrintSystemJobInfo.StartTimeOfDay hodnota, která je starší než PrintQueue.StartTimeOfDay hodnota, na hodnotu PrintQueue.StartTimeOfDay.

Po přidání úlohy do fronty je možné jí prostřednictvím uživatelského rozhraní systému Microsoft Windows poskytnout novou StartTimeOfDay hodnotu za předpokladu, že není starší než PrintQueue.StartTimeOfDay.

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 váš místní čas o 8 hodin starší než UTC. Pokud StartTimeOfDay vrátí hodnotu 960, znamená to 16:00 (16:00) v utc (protože 960/60 = 16). Chcete-li 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ě) posune na nulu. Pokud StartTimeOfDay 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řidejte záporné číslo k celkovému počtu minut v den 1440, což vede k konečné hodnotě 1080 (18:00) Tichomořského času.

Viz TimeZone, TimeSpana DateTime , kde najdete metody, které pomáhají s úpravami časových pásem.

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

Platí pro

Viz také