calendar获取本周一的日期_如何快速获取本周的星期一日期
小编典典
我写了Date扩展名以获取某个工作日的Date,这就是在Swift 5中使用它的简便性
Date.today() // Oct 15, 2019 at 9:21 AM
Date.today().next(.monday) // Oct 21, 2019 at 9:21 AM
Date.today().next(.sunday) // Oct 20, 2019 at 9:21 AM
Date.today().previous(.sunday) // Oct 13, 2019 at 9:21 AM
Date.today().previous(.monday) // Oct 14, 2019 at 9:21 AM
Date.today().previous(.thursday) // Oct 10, 2019 at 9:21 AM
Date.today().next(.thursday) // Oct 17, 2019 at 9:21 AM
Date.today().previous(.thursday,
considerToday: true) // Oct 10, 2019 at 9:21 AM
Date.today().next(.monday)
.next(.sunday)
.next(.thursday) // Oct 31, 2019 at 9:21 AM
这是日期扩展,
extension Date {
static func today() -> Date {
return Date()
}
func next(_ weekday: Weekday, considerToday: Bool = false) -> Date {
return get(.next,
weekday,
considerToday: considerToday)
}
func previous(_ weekday: Weekday, considerToday: Bool = false) -> Date {
return get(.previous,
weekday,
considerToday: considerToday)
}
func get(_ direction: SearchDirection,
_ weekDay: Weekday,
considerToday consider: Bool = false) -> Date {
let dayName = weekDay.rawValue
let weekdaysName = getWeekDaysInEnglish().map { $0.lowercased() }
assert(weekdaysName.contains(dayName), "weekday symbol should be in form \(weekdaysName)")
let searchWeekdayIndex = weekdaysName.firstIndex(of: dayName)! + 1
let calendar = Calendar(identifier: .gregorian)
if consider && calendar.component(.weekday, from: self) == searchWeekdayIndex {
return self
}
var nextDateComponent = calendar.dateComponents([.hour, .minute, .second], from: self)
nextDateComponent.weekday = searchWeekdayIndex
let date = calendar.nextDate(after: self,
matching: nextDateComponent,
matchingPolicy: .nextTime,
direction: direction.calendarSearchDirection)
return date!
}
}
// MARK: Helper methods
extension Date {
func getWeekDaysInEnglish() -> [String] {
var calendar = Calendar(identifier: .gregorian)
calendar.locale = Locale(identifier: "en_US_POSIX")
return calendar.weekdaySymbols
}
enum Weekday: String {
case monday, tuesday, wednesday, thursday, friday, saturday, sunday
}
enum SearchDirection {
case next
case previous
var calendarSearchDirection: Calendar.SearchDirection {
switch self {
case .next:
return .forward
case .previous:
return .backward
}
}
}
}
2020-07-07
calendar获取本周一的日期_如何快速获取本周的星期一日期相关推荐
- python过去日期_利用python获取当前日期前后N天或N月日期的方法示例
前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...
- python获取一个月之前日期_利用python获取当前日期前后N天或N月日期的方法示例...
前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...
- sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息
sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...
- mysql 日期_「13」MySQL中与日期与时间相关的函数
下面这张图片,是我们每个人拿起手机就应该看到的,这就是日期与时间! MySQL中如何通过各种函数来实现日期与时间的处理?这就是本文所要探索的问题! [1]获取当前日期的函数 [结论]返回值是以&quo ...
- js根据月数计算有效日期_你真的看懂产品生产日期了么
产品的生产日期和保质期,是与我们消费者健康.安全息息相关的重要信息.可是不清楚什么是生产日期和保质期,傻傻算不清? GB 7718-2011<预包装食品标签通则>中指出,生产日期是食品成为 ...
- 手机怎样快速获取root权限,手机怎样快速获取root权限密码
安卓智能手机如何获取一键ROOT权限? 安卓智能手机获取一键ROOT权限的方法如下: 准备材料:安卓智能手机 1.为了提高ROOT的成功率,选择使用腾讯应用宝作为操作平台,手机连接后打开USB调试选项 ...
- java获取明天的日期_使用java获取昨日的日期,今日的日期,明日的日期
private String tomorrowDate;//明日日期 private String todayDate;//明日日期 private String yesterdayDate;//明日 ...
- calender获取本月最后一天的日期_怕忘记2020法考重点日期?这份法考日历为你护航,信息量巨大...
@司法部@北京司法@法考之家@法考吧@厚大法考#法考##厚大##法律文书##司法考试# 怕忘记重点考试日期? 每个月不知道复习什么? 2020年法考日历大事记来了,所有重要日期和本月应该完成的复习内容 ...
- mysql一次性获取几十万数据_《快速念咒——MySQL自学入门指南》:第2章——从表中获取更多数据(前言)...
(欢迎大家关注订阅号--"快速念咒") 下一节我们将会使用两张新表--happyorder和happydetail.创建两张表的代码如下-- 创建happyorder表: CREA ...
- 公众号jdk 获取手机号_怎样快速获取使用国庆节公众号文章的素材和模板
国庆节又称十一.国庆节.国庆日.中国国庆节.国庆黄金周.自1950年起,每年的10月1日,为中华人民共和国宣告成立的日子,即国庆日.峥嵘岁月,71年风雨兼程.终将迎来历史曙光.我们也马上迎来了国庆节小 ...
最新文章
- 如何在 SQL 2008 安裝 Performance Dashboard Reports
- P1282 多米诺骨牌 (差值DP+背包)
- 位地址和字节地址换算_关于ip地址的详解,看完这篇就够了
- 【阿里云OSS】访问控制
- MySQL8.0连接url
- 十个最适合 Web 和 APP 开发的 NodeJS 框架 1
- 树莓派 鼠标延迟问题【Linux】
- docker利用Dockerfile来制作镜像
- android sqlcipher 加密,Android 数据库加密 SQLCipher使用方法
- numpy—np.tensordot
- 理解insert all/insert first的使用
- hadoop使用mapreduce统计词频_Hadoop自带WordCount进行词频统计(mapreduce)
- 离散数学杜忠复版答案_离散数学(第二版)课后习题答案详解(完整版)
- [转自他人]一款好用的软件安装管理器
- ASA使用ASDM管理
- 在开放环境的步态识别:一个基准(二)
- 子网掩码-掩码位-反掩码 对照表
- 农业大省吉林谋乡村全面振兴:农业强、农村美、农民富
- 如何安装ssl证书?
- 心态很容易受别人影响_很容易被别人说的话影响心情,应该怎么办?