問題タブ [nsdatecomponents]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
720 参照

ios - 「2010-12-3115:00:00 +000」から「2010-01-0100:00:00 +900」を取得するのはなぜですか?

NSDateを持っていますが、使用すると以下のように表示されますNSLog(@"%@", date.description);

2010-12-31 15:00:00 +0000

使用したように表示されますNSLog(@"%@", [date descriptionWithLocale:[[NSLocale currentLocale] localeIdentifier]]);

2011年1月1日土曜日12:00:00AM日本標準時

ただし、使用した場合は以下のように表示されますNSLog(@"%@", [date formattedDateString]);

2010-01-01 00:00:00 +0900

どこを間違えますか?

0 投票する
3 に答える
792 参照

cocoa - NSDate + NSDateComponents を使用した「先週の金曜日」の計算

NSDate と NSDateComponents を使用して、現在の日付に対する特定の日の計算に問題があります。たとえば、先週の金曜日が欲しいとしましょう。私は次のことを試しました:

しかし、それは私が何を求めているのか理解できないかのように、現在の日付を返すだけです。

これは十分に単純であるように感じますが、私はそれを機能させていません。ポインタはありますか?

0 投票する
4 に答える
17456 参照

iphone - NSDateから1か月を引く

2つのNSInteger年、月を1か月前に戻したい。たとえば、今は2011-01ですが、 2010-12を取得するにはどうすればよいですか。足し算は一つですが、引き算したいです。

エンドに挨拶

編集:私の解決策

0 投票する
3 に答える
435 参照

cocoa-touch - 1600 年から NSDate までの日付?

対処する必要がある 1600 年 1 月 1 日からの日数として保存されている日付があります。これは、アプリケーションで何度も読み取る必要がある従来の日付形式です。

以前は、カレンダー、空の日付コンポーネント、ルート日付を次のように作成していました。

次に、後で整数を日付に変換するために、これを使用します。

(オフセットの値を他の場所で変更することはありません。)

rootDate問題は、iOS と Mac OS X で異なる時刻を取得していることです。Mac OS X では、午前 0 時を取得しています。iOS では、8:12:28 を取得しています。(今のところ、これについては一貫しているようです。) 後で日数を追加すると、変な時間が残ります。

私の製品の以前のリリースでは、時間は気にしませんでした。今私がやります。iOS の奇妙な時間はなぜですか?どうすればよいですか? (時差はDSTだと思います。)

rootComponents の時、分、秒を 0 に設定しようとしましたが、影響はありません。0 以外に設定すると、8:12:28 に追加されます。これがうるう秒やその他の累積的な時計の変更と関係があるのか​​ どうか疑問に思っていました.

それとも、これは iOS で使用する完全に間違ったアプローチですか?

0 投票する
1 に答える
1940 参照

iphone - iPhone - NSDateComponents/NSCalendar および経過時間 (例: 3 時間前にスキャン)

次の経過時間をユーザーに表示したいと思います。

例えば、

これを実現するために次の方法を使用しますが、期待どおりに機能していません。たとえば、何かをスキャンしたばかりの場合、次のように出力されます: Scanned 9 seconds 16 hours ago、これは明らかに正しくありません。それはちょうどあるべきです: Scanned 9 seconds ago

0 投票する
2 に答える
622 参照

objective-c - 特定の時刻のNSDateオブジェクトを、同じ時刻と現在の日付のオブジェクトに変換する最も効率的な方法

私は現在、学校のスケジュールを処理するスケジューリングアプリケーションを作成しています。各スケジュールには、開始時刻と終了時刻の両方を含む期間オブジェクトの配列があります。現在、これらの時刻はNSDateオブジェクトとして保存されています。ここでは、時刻のみが実際に関連しており、各NSDateオブジェクトには、アプリケーションにとってほとんど重要ではない任意の日付が関連付けられています(UIDatePickerが割り当てたものは何でもですが、TimePickerModeのみを使用します) )。私はこれらの日付で多くのことをします。まず、NSDateFormatterを使用して、UITableViewの各期間の時間の文字列表現を出力します。次に、[NSDate date]によって取得された現在の時刻を開始時刻と終了時刻と比較することにより、その日の現在の期間を見つけようとします。しかし、私はこれを行うための最良の方法を決定するのに苦労しています。

現在、NSDateFormatterを使用して開始時刻と終了時刻を文字列に変換してから、今日の日付と同じ日付の日付に戻しています。その後、-(NSComparisonResult)compareを使用して日付の比較を行うことができます。開始日と終了日を現在の日付と比較します。しかし、これは非常に非効率的であると私は見ることができました。

他の可能な方法は、各NSDateをNSDateComponentsに変換してから、NSCalendarを使用して、現在の日付と同じ元の時刻を持つNSDateに変換し直すことです。

または、別のアプローチを取り、NSDateストレージ手法を完全に廃止することもできます。代わりに、各開始時刻と終了時刻をNSDateComponentsとして保存できます。その後、UITableViewの時刻のフォーマットされたバージョンを出力するのに十分簡単で、[NSDate date]によって取得された日付をNSDateComponentsに変換して、論理に使用できます。現在の期間を取得するための比較。

これについては3つまたは4つの異なる方法がありますが、実際に話し合った後、さまざまなタイプの日付オブジェクト間で実行時の変換が最小限で済むため、最後に説明した方法が最も効率的であると確信しています。私は他の人の意見を探しています。

0 投票する
3 に答える
1361 参照

iphone - 2011-01-01でNSDateComponentから間違ったNSDateを取得します

NSDateComponentsとNSDateFormatterから奇妙な結果が得られています。

指定された日付の時間を午前10時に設定するには、次の方法があります

私が次の電話をかけている間:

2行目だけで、予期しない結果が得られます。

問題は2番目のレコード2011-01-01にあり、時間を10に設定するだけで2011-12-31になります。

0 投票する
7 に答える
9897 参照

objective-c - NSDateComponents で週の最初の曜日を取得する: 年を変更する

こんにちは、firstWeekDay の設定に問題があります。

2011 年 1 月 1 日土曜日が targetDate の場合、カレンダーの firstWeekDay は 2011 年 12 月 26 日の月曜日に見えますが、実際には 2010 年 12 月 26 日の月曜日のはずです。どうすれば正しくできますか?

0 投票する
6 に答える
26463 参照

objective-c - 既存の NSDate の時刻を設定するにはどうすればよいですか?

NSDate既存の の時間を設定するにはどうすればよいですか?

つまり、日付 (現在の日付/時刻など) がありますが、これを特定の時刻 (午前 11 時 23 分など) に設定したいとします。Objective Cでこれを行う最も簡単な方法は何ですか?

私は、 、NSCalendarなどのメソッドを見て見ていますが、これらは私がここで必要としているものを完全に満たしていないようです。例えば:dateByAddingComponents:toDate:options:dateFromComponents:

  1. dateFromComponents:- これが機能するには、すべてのコンポーネントを解決する必要がありますが、これはやり過ぎのように思えます
  2. dateByAddingComponents:toDate:options:- 私の場合は追加したくありませんが、時間を「設定」します。
0 投票する
2 に答える
448 参照

iphone - NSArray で特定の時刻 (例: 午後 8 時) 以降の時刻を持つ NSDate を見つけますか?

Objective-C で、特定の時刻 (午後 8 時など) 以降の時刻を持つ NSArray 内の NSDate を識別する簡単な方法はありますか?

配列内の各 NSDate を手動で調べてから、NSDateComponents を使用して時/分/秒を分割する以外に、とにかくよくわかりません... NSDate から時間を取得する簡単な方法があるかどうかさえわかりませんこれは少し役立つかもしれないので、24 時間の一部を表す方法です。(例: この場合、午後 6 時は 18/24 = 0.75 になります)