今週の月曜日00:00を取得するにはどうすればよいですか?スウィフト3

0ndre_

日付から月曜日00:00に戻ろうとしています。これは私のコードです:

func getMonday(myDate: Date) -> Date {
    let cal = Calendar.current
    let comps = cal.dateComponents([.weekOfYear, .yearForWeekOfYear], from: myDate)
    let beginningOfWeek = cal.date(from: comps)!
    return beginningOfWeek
}

私の問題は、月曜日の00:00ではなく、土曜日の22:00に返されることです。

例:

    let monday1 = getMonday(myDate: date) //date is: 2016-10-04 17:00:00
    print(monday1) //Prints: 2016-10-01 22:00:00 (Saturday)

私の質問は:

月曜日00:00から戻る方法はmyDate

どうもありがとうございました。

マーティンR

コードは、指定された週の最初の日返します。これは、ロケールに応じて、日曜日または月曜日(またはおそらく他の日)になります。

月曜日を最初の平日と見なしたい場合は、

cal.firstWeekDay = 2

週の始まりに関係なく、特定の週の月曜日が必要な場合は、次のように設定しcomps.weekday = 2ます。

func getMonday(myDate: Date) -> Date {
    let cal = Calendar.current
    var comps = cal.dateComponents([.weekOfYear, .yearForWeekOfYear], from: myDate)
    comps.weekday = 2 // Monday
    let mondayInWeek = cal.date(from: comps)!
    return mondayInWeek
}

印刷はDate常にGMTタイムゾーンを使用することに注意してください。ローカルタイムゾーンに従って結果を印刷するには、日付フォーマッターが必要です。例:

let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd HH:mm"

let now = Date()
print(df.string(from: now)) // 2016-10-02 20:16

let monday1 = getMonday(myDate: now)
print(df.string(from: monday1)) // 2016-09-26 00:00

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

今週の月曜日の印刷日(bashで)

分類Dev

今週の月曜日の日付をすばやく取得する方法

分類Dev

今週の月曜日の日付を取得します

分類Dev

今月の毎週月曜日の日付を取得します

分類Dev

SSDは毎週月曜日の現地時間00:00にフリーズします

分類Dev

フィールドのデフォルト値を「0000-00-0000:00:00」に設定するにはどうすればよいですか?

分類Dev

SQLで今週の月曜日の完全な日付を取得しますか?

分類Dev

月曜日から始まる今週の日付の配列を取得します

分類Dev

「.00」形式の番号を取得するにはどうすればよいですか?

分類Dev

今週の前の年と週を取得するにはどうすればよいですか?

分類Dev

特定の月の毎週月曜日を取得するにはどうすればよいですか?

分類Dev

前週の月曜日と金曜日の日付を取得するにはどうすればよいですか?

分類Dev

postgresでフィールドのカウントを取得するにはどうすればよいですか?

分類Dev

postgresでフィールドのカウントを取得するにはどうすればよいですか?

分類Dev

Automation Anywhereで今週のすべての日を取得/出力するにはどうすればよいですか?

分類Dev

'0000-00-00T00:00:00 + 00:00'の形式の文字列でdatetime.strptimeを使用するにはどうすればよいですか?

分類Dev

月曜日のcalstart週のFreeBSDバリアントを作成するにはどうすればよいですか?

分類Dev

Oracle SQLで、今週だけの時間を取得するにはどうすればよいですか。

分類Dev

今週の日付範囲を取得するにはどうすればよいですか?

分類Dev

今月の週数を取得するにはどうすればよいですか?

分類Dev

4:00以降または週末の日時を翌営業日の午前8:00に設定するにはどうすればよいですか?

分類Dev

(P3D)ウィンドウの位置を取得するにはどうすればよいですか?

分類Dev

ユーザーフォームの入力に基づいて、今週の月曜日を取得します

分類Dev

今週のタスクのみを表示するにはどうすればよいですか-Rails

分類Dev

ウィキデータSPARQLでフィルムコストの通貨を取得するにはどうすればよいですか?

分類Dev

NSDateが今週のものかどうかを確認するにはどうすればよいですか?

分類Dev

Javascriptストップウォッチを00:00時間形式で修正するにはどうすればよいですか?(秒:ミリ秒)

分類Dev

今週の行がない場合、データフレームに週のエントリを入力するにはどうすればよいですか?

分類Dev

2セットの時間を追加するにはどうすればよいですか?例:00:10:10 + 00:00:20 = 00:10:30

Related 関連記事

  1. 1

    今週の月曜日の印刷日(bashで)

  2. 2

    今週の月曜日の日付をすばやく取得する方法

  3. 3

    今週の月曜日の日付を取得します

  4. 4

    今月の毎週月曜日の日付を取得します

  5. 5

    SSDは毎週月曜日の現地時間00:00にフリーズします

  6. 6

    フィールドのデフォルト値を「0000-00-0000:00:00」に設定するにはどうすればよいですか?

  7. 7

    SQLで今週の月曜日の完全な日付を取得しますか?

  8. 8

    月曜日から始まる今週の日付の配列を取得します

  9. 9

    「.00」形式の番号を取得するにはどうすればよいですか?

  10. 10

    今週の前の年と週を取得するにはどうすればよいですか?

  11. 11

    特定の月の毎週月曜日を取得するにはどうすればよいですか?

  12. 12

    前週の月曜日と金曜日の日付を取得するにはどうすればよいですか?

  13. 13

    postgresでフィールドのカウントを取得するにはどうすればよいですか?

  14. 14

    postgresでフィールドのカウントを取得するにはどうすればよいですか?

  15. 15

    Automation Anywhereで今週のすべての日を取得/出力するにはどうすればよいですか?

  16. 16

    '0000-00-00T00:00:00 + 00:00'の形式の文字列でdatetime.strptimeを使用するにはどうすればよいですか?

  17. 17

    月曜日のcalstart週のFreeBSDバリアントを作成するにはどうすればよいですか?

  18. 18

    Oracle SQLで、今週だけの時間を取得するにはどうすればよいですか。

  19. 19

    今週の日付範囲を取得するにはどうすればよいですか?

  20. 20

    今月の週数を取得するにはどうすればよいですか?

  21. 21

    4:00以降または週末の日時を翌営業日の午前8:00に設定するにはどうすればよいですか?

  22. 22

    (P3D)ウィンドウの位置を取得するにはどうすればよいですか?

  23. 23

    ユーザーフォームの入力に基づいて、今週の月曜日を取得します

  24. 24

    今週のタスクのみを表示するにはどうすればよいですか-Rails

  25. 25

    ウィキデータSPARQLでフィルムコストの通貨を取得するにはどうすればよいですか?

  26. 26

    NSDateが今週のものかどうかを確認するにはどうすればよいですか?

  27. 27

    Javascriptストップウォッチを00:00時間形式で修正するにはどうすればよいですか?(秒:ミリ秒)

  28. 28

    今週の行がない場合、データフレームに週のエントリを入力するにはどうすればよいですか?

  29. 29

    2セットの時間を追加するにはどうすればよいですか?例:00:10:10 + 00:00:20 = 00:10:30

ホットタグ

アーカイブ