轨道
/
SQLite
SQLite
/
练习
/
Swift 调度
Swift 调度

Swift 调度

中等

简介

这周轮到你在部门的计划会议上做记录了。 在这次会议上,你的老板会为所有未完成的工作项确定交付日期。 烦人的是,老板不会给出真正的交付日期,只会用缩写格式描述它们。 由于你的很多同事都不熟悉这种公司行话,你需要把这些交付日期的描述转换成真正的交付日期。

说明

你的任务是根据会议开始的时间,把交付日期描述转换成_实际_的交付日期。

交付日期描述有两种类型:

  1. 固定:一组预先定义好的词。
  2. 可变:带有可变部分的词,但遵循一组预先定义好的模式。

固定的交付日期描述

有三种固定的交付日期描述:

  • "NOW"
  • "ASAP"(尽快)
  • "EOW"(一周结束)

下表说明了如何转换它们:

描述 会议开始时间 交付日期
"NOW" - 会议开始 2 小时后
"ASAP" 13:00 之前 今天 17:00
"ASAP" 13:00 或之后 明天 13:00
"EOW" 周一、周二或周三 周五 17:00
"EOW" 周四或周五 周日 20:00

可变的交付日期描述

有两种可变的交付日期描述模式:

  • "<N>M"(第 N 个月)
  • "Q<N>"(第 N 季度)
描述 会议开始时间 交付日期
"<N>M" 在第 N 个月之前 今年第 N 个月的_第一个_工作日 8:00
"<N>M" 在第 N 个月或之后 明年第 N 个月的_第一个_工作日 8:00
"Q<N>" 在第 N 季度或之前 今年第 N 季度的_最后_工作日 8:00
"Q<N>" 在第 N 季度之后 明年第 N 季度的_最后_工作日 8:00
Note

工作日是周一、周二、周三、周四或周五。

一年有四个季度,每个季度各包含三个月:

  1. 1 月/2 月/3 月
  2. 4 月/5 月/6 月
  3. 7 月/8 月/9 月
  4. 10 月/11 月/12 月。
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
SQLite Exercism

准备好开始 Swift 调度 了吗?

注册 Exercism,借助 81 个练习 和真人导师指导,学习并掌握 SQLite,全部免费。