PrintSystemJobInfo.StartTimeOfDay Vlastnost
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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.
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
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.
Produkt | Verze |
---|---|
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: