PrintQueue.StartTimeOfDay プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
プリンターがジョブを印刷する最も早い時刻を取得または設定します。この時刻は、協定世界時刻 (UTC) (グリニッジ標準時 [GMT] とも呼ばれます) の午前 0 時からの分数で表現されます。
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
プロパティ値
プリンターが最初に使用できるようになる時刻。この時刻は、午前 0 時 (UTC) からの分数で表現されます。 最大値は 1439 です。 Microsoft Windows プリンターの追加ウィザードを使用してプリンターを初めてインストールすると、プリンターは既定で常に使用可能になり、このプロパティはすべてのタイム ゾーンで 0 を返します。
例
次の例では、このプロパティを使用して、プリンターが現在使用できるかどうかを判断する方法を示します。
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
注釈
UTC タイム ゾーンにいない場合は、タイム ゾーンの正しい時刻を設定または取得するために、60 の倍数を加算または減算する必要があります。 たとえば、北米の太平洋タイム ゾーンにいて、夏時間が有効でない場合、現地時刻は UTC より 8 時間早くなります。 タイム ゾーンで午前 12 時に設定 StartTimeOfDay するには、午前 8 時 (UTC) に設定します。これは 480 (= 8 * 60) です。 また、24 時間後 (つまり、1439 分後) に時間が 0 にロールオーバーされることを覚えておく必要があります。 タイム ゾーンで午後 6 時に設定するには、午前 2 時 (UTC) に設定します。これは 120 (= 2 * 60) です。 メソッドの操作に役立つタイム ゾーンについては、「、TimeSpan、および DateTime クラス」を参照してくださいTimeZone。
プリンターが常に使用可能な場合、このプロパティはすべてのタイム ゾーンで 0 を返します。
適用対象
こちらもご覧ください
.NET