PrintQueue.StartTimeOfDay Egenskap

Definition

Hämtar eller anger den tidigaste tiden på dagen, uttryckt som antalet minuter efter midnatt Coordinated Universal Time (UTC) (kallas även Greenwich Mean Time [GMT]), att skrivaren skriver ut ett jobb.

public:
 virtual property int StartTimeOfDay { int get(); void set(int value); };
public virtual int StartTimeOfDay { get; set; }
member this.StartTimeOfDay : int with get, set
Public Overridable Property StartTimeOfDay As Integer

Egenskapsvärde

Den tid på dagen som skrivaren först blir tillgänglig, uttryckt som antalet minuter efter midnatt (UTC). Det maximala värdet är 1439. När en skrivare först installeras med hjälp av guiden Microsoft Windows Lägg till skrivare är skrivaren som standard tillgänglig hela tiden och den här egenskapen returnerar 0 i alla tidszoner.

Exempel

I följande exempel visas hur du använder den här egenskapen för att avgöra om en skrivare är tillgänglig för närvarande.

private: 
   static void ReportAvailabilityAtThisTime (System::String^% statusReport, System::Printing::PrintQueue^ pq) 
   {
      if (pq->StartTimeOfDay != pq->UntilTimeOfDay)
      {
         System::DateTime utcNow = DateTime::UtcNow;
         System::Int32 utcNowAsMinutesAfterMidnight = (utcNow.TimeOfDay.Hours * 60) + utcNow.TimeOfDay.Minutes;

         // If now is not within the range of available times . . .
         if (!((pq->StartTimeOfDay < utcNowAsMinutesAfterMidnight) && (utcNowAsMinutesAfterMidnight < pq->UntilTimeOfDay)))
         {
            statusReport = statusReport + " Is not available at this time of day. ";
         }
      }
   };
private static void ReportAvailabilityAtThisTime(ref String statusReport, PrintQueue pq)
{
    if (pq.StartTimeOfDay != pq.UntilTimeOfDay) // If the printer is not available 24 hours a 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 (!((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight) 
           &&
           (utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)))
        {
            statusReport = statusReport + " Is not available at this time of day. ";
        }
    }
}
Private Shared Sub ReportAvailabilityAtThisTime(ByRef statusReport As String, ByVal pq As PrintQueue)
    If pq.StartTimeOfDay <> pq.UntilTimeOfDay Then ' If the printer is not available 24 hours a 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((pq.StartTimeOfDay < utcNowAsMinutesAfterMidnight) AndAlso (utcNowAsMinutesAfterMidnight < pq.UntilTimeOfDay)) Then
            statusReport = statusReport & " Is not available at this time of day. "
        End If
    End If
End Sub

Kommentarer

Om du inte befinner dig i UTC-tidszonen måste du lägga till eller subtrahera multiplar av 60 för att ange eller 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 du vill ange StartTimeOfDay till 12 AM i tidszonen anger du den till 8 AM UTC, vilket är 480 (= 8 * 60). Du måste också komma ihåg att tiden rullar över till noll efter 24 timmar (dvs. efter den 1439:e minuten). Om du vill ange den till 18:00 i tidszonen anger du den till 02:00 UTC, vilket är 120 (= 2 * 60). Se TimeZone, TimeSpanoch DateTime klasser för användbara metoder för tidszonsmanipulering.

Om skrivaren alltid är tillgänglig returnerar den här egenskapen 0 i alla tidszoner.

Gäller för

Se även