2017-05-06 9 views

答えて

2

Dateは不変です。現在の日付/時刻が必要なときはいつでも、新しいインスタンスを作成するしかありません。

var someDate = Date() 

以降:

someDate = Date() 

新しいDateインスタンスを作成せずに現在の日付/時刻にsomeDateを更新する他の方法はありません。

これについては何も効率的ではありません。早すぎる最適化について心配する必要はありません。

ループの前にDateインスタンスを作成(またはクラスプロパティに格納)し、必要に応じてその値を再利用するようなループで現在の日付を使用する場合。

0

Date rmaddyが答えているように、オブジェクトは不変です。現在の日付をDateオブジェクトにする場合は、Date()イニシャライザを使用してDateの新しいインスタンスを作成する必要があります。現在の日付が必要なときにいつでも新しい日付を作成し、それを心配する必要はありません。

あなたが(問題になることはほとんどありません)新しいDateオブジェクトを作成しないようにしたいなら、あなたはDate静的VAR timeIntervalSinceReferenceDateを使用することができます。

let currentInterval = Date.timeIntervalSinceReferenceDate 

あなたに与えることダブルでTimeInterval(これは、オブジェクトではなくスカラー値で、ココア参照日から現在の秒数を表します。その値で数学を行うこともできますし、必要に応じて後でDateオブジェクトを作成するために使用することもできます。

-1

Date()は現在の日付を返します。独自のロジックで使用できます。

関連する問題