PrintSystemJobInfo.StartTimeOfDay Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar den tidigaste tiden på dagen, uttryckt som antalet minuter efter midnatt Coordinated Universal Time (UTC) (kallas även Greenwich Mean Time [GMT]), som utskriftsjobbet kan börja skriva ut.
public:
property int StartTimeOfDay { int get(); };
public int StartTimeOfDay { get; }
member this.StartTimeOfDay : int
Public ReadOnly Property StartTimeOfDay As Integer
Egenskapsvärde
En Int32 som anger den tidigaste möjliga starttiden för utskriftsjobbet, uttryckt som antalet minuter efter midnatt (UTC). Det maximala värdet är 1439.
Exempel
I följande exempel visas hur du använder den här egenskapen som en del av processen för att diagnostisera ett problematiskt utskriftsjobb.
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
Kommentarer
Det här värdet sprids till varje PrintSystemJobInfo objekt från PrintQueue.StartTimeOfDay egenskapen för värden PrintQueue när jobbet kommer in i kön. Om PrintQueue.StartTimeOfDay ändras ändras alla PrintSystemJobInfo.StartTimeOfDay värden som är tidigare än PrintQueue.StartTimeOfDay som har ändrats till värdet PrintQueue.StartTimeOfDayför .
När jobbet har lagts till i kön kan det ges ett nytt StartTimeOfDay värde via Microsoft Windows användargränssnitt (UI), förutsatt att det inte är tidigare än PrintQueue.StartTimeOfDay.
Om du inte befinner dig i UTC-tidszonen måste du lägga till eller subtrahera multiplar av 60 för att få rätt tid för tidszonen. Om du till exempel befinner dig i Pacific Time Zone of North America och sommartid inte är i kraft är din lokala tid 8 timmar tidigare än UTC. Om StartTimeOfDay returnerar 960 innebär det 16:00 (16:00 PM) i UTC (eftersom 960/60 = 16). Om du vill konvertera detta till Pacific Time måste du subtrahera 480 (= 8 * 60) minuter.
Du måste också komma ihåg att tiden rullar över till noll efter 24 timmar (dvs. efter den 1439:e minuten). Om StartTimeOfDay returnerar 120 innebär det 02:00 i UTC. Om du vill konvertera detta till Pacific Time måste du subtrahera 480 minuter, vilket resulterar i -360. Om du vill få ett positivt värde som har betydelse lägger du till det negativa talet till det totala antalet minuter under en dag, 1440, vilket resulterar i ett slutligt värde på 1 080 (18:00) Pacific Time.
Se TimeZone, TimeSpanoch DateTime för metoder som hjälper dig att göra tidszonsjusteringar.
Om skrivaren alltid är tillgänglig returnerar den här egenskapen 0 i alla tidszoner.