NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
# 日期和时间的代码 以下代码用于将格式化的日期和时间字符串传递给外部程序。它们还经常用于将日期字符串传递给内部命令 - 例如,要以当前日期创建文件夹,你可以使用 **CreateFolder {date\|yyyyMMdd}** 这样的命令。 <table> <thead><tr><th> 代码</th><th> 描述 </th></tr></thead><tbody><tr><td> **{date\|***\<格式\>***}**</td><td> 当前日期(本地时间)。 </td></tr><tr><td> **{dateu\|***\<格式\>***}**</td><td> 当前日期(UTC)。 </td></tr><tr><td> **{time\|***\<格式\>***}**</td><td> 当前时间(本地时间)。 </td></tr><tr><td> **{timeu\|***\<格式\>***}**</td><td> 当前时间(UTC)。 </td></tr></tbody> </table> *\<格式\>* 值是一个字符串,由用于格式化日期和时间字符串的各种*标记*组成。如果未指定格式,则使用默认的系统日期和时间格式。 例如,**{date\|yyyy-MM-dd}** 将格式化日期为 *2016-09-22*,**{time\|HHmmss}** 将格式化时间为 *084450*。 虽然此页面主要介绍 **{date}**, **{dateu}**, **{time}** 和 **{timeu}** 代码,但下面描述的语法还用于其它使用日期和时间格式的地方。语法基于 Windows 的一个语法,另加一些补充,如果你曾经自定义过 Windows 日期时间格式,你应该会很熟悉。 **D#、T# 和 A# 前缀:**日期格式可以用 **D#** 开头。时间格式可以用 **T#** 开头。统一格式(同时包含日期和时间字段)可以用 **A#** 开头。对于 **{date}**, **{dateu}**, **{time}** 和 **{timeu}** 来说,这些前缀是可选的,其中格式类型是隐含的,但在代码同时返回日期和时间的某些情况下,前缀是必需的。例如,在重命名文件时使用 **{modified}** 代码,可以使用 **{modified\|D#yyyy}** 插入文件的修改年份。 **特殊标志:**为了修改格式化执行方式,可以在格式字符串的开头,在任何 **D#**、**T#** 或 **A#** 前缀之后,出现一些特殊标志。与主要格式标志一样,它们**区分大小写**。如果同时使用两个或更多个特殊标志,它们的顺序并不重要。 - **I** - **系统不变区域设置:**系统语言设置(区域设置)会影响日期和时间格式。例如,**MMM** 和 **MMMM** 日期代码会生成你所说的语言的月份名称。**tt** 时间代码会输出你的区域设置中 “AM” 和 “PM” 的版本,在不使用它们的某些地方(例如法国)中甚至可能完全没有。你可以通过在格式字符串的开头放置一个 **I**(大写 i)来覆盖此值,并使用 **系统不变区域设置**。系统不变区域设置类似于北美区域设置,并在所有机器和设置上生成相同的结果。它可与日期和时间格式一起使用。例如,在 6 月 23 日晚上 10:52 运行 **{date\|Idd-MMM} {time\|Ihh:mm tt}** 始终会输出 “23-Jun 10:52 PM”。 - **N** - **日期名称:**如果你希望一周内的日期被日期名称(“星期一”、“今天”、“明天”等)替换,类似于 *显示友好日期* 偏好设置选项,请使用 **N**(大写 n)开始日期格式。它只能与日期格式一起使用。例如,如果 Opus 以英文运行,**{date\|Ndd-MMM-yyyy}** 会输出 “Today”。你不大可能想要在 **{date}** 中使用日期名称,但它们也能在重命名时用于文件时间戳;例如,在重命名对话框中使用 **{modified\|D#Nyyyy-MM-dd}**。虽然你可以组合 **I** 和 **N** 标志,但它们不会相互作用;日期名称始终会以你配置 Opus 使用的语言输出。 - **M** - **毫秒:**如果你希望包含毫秒,类似于 *显示毫秒* 偏好设置选项,请以 **M**(大写 m)字符开始时间格式。它只能与时间格式一起使用。如果包含毫秒,毫秒将始终在秒之后添加,并填充为三位数。例如,**{time\|MHH:mm:ss}** 会返回类似 “08:45:32.021” 的时间。如果时间值没有毫秒精度,毫秒部分将为零。 **日期代码**使用以下标记 – 请注意,这些标记区分大小写!*ISO 周* 和 *ISO 年* 标记指 [ISO 周日期系统](http://en.wikipedia.org/wiki/ISO_week_date)。 <table> <thead><tr><th> 日期标记</th><th> 描述 </th></tr></thead><tbody><tr><td> d</td><td> 月份中的天数,对于个位数的天数,没有前导零。 </td></tr><tr><td> dd</td><td> 月份中的天数,对于个位数的天数,有前导零。 </td></tr><tr><td> D</td><td> 星期几,数字(1 = 星期日,7 = 星期六)。 </td></tr><tr><td> DD</td><td> 星期几,数字(1 = 星期一,7 = 星期日)。 </td></tr><tr><td> ddd</td><td> 星期几,三位缩写(例如 *Wed*)。 </td></tr><tr><td> dddd</td><td> 星期几,全名(例如 *Wednesday*)。 </td></tr><tr><td> w</td><td> ISO 周数,没有前导零。 </td></tr><tr><td> ww</td><td> ISO 周数,有前导零。 </td></tr><tr><td> W</td><td> 简单周数,没有前导零。 </td></tr><tr><td> WW</td><td> 简单周数,有前导零。 </td></tr><tr><td> M</td><td> 月份,数字,没有前导零。 </td></tr><tr><td> MM</td><td> 月份,数字,有前导零。 </td></tr><tr><td> MMM</td><td> 月份,三位缩写(例如 *Jan*)。 </td></tr><tr><td> MMMM</td><td> 月份,全名(例如 *January*)。 </td></tr><tr><td> y</td><td> 年份,最后两位数字,但对于小于 10 的年份,没有前导零(例如 *2009* -\> *9*)。 </td></tr><tr><td> yy</td><td> 年份,最后两位数字,有前导零(例如 *2009* -\> *09*)。 </td></tr><tr><td> yyyy</td><td> 年份,四位数字。 </td></tr><tr><td> Y</td><td> ISO 年,最后两位数字,没有前导零。(通常只与 ISO 周一起有意义。如果你只想获取普通年份,请勿使用。) </td></tr><tr><td> YY</td><td> ISO 年,最后两位数字,有前导零。(通常只与 ISO 周一起有意义。如果你只想获取普通年份,请勿使用。) </td></tr><tr><td> YYYY</td><td> ISO 年,四位数字。(通常只与 ISO 周一起有意义。如果你只想获取普通年份,请勿使用。) </td></tr><tr><td> gg</td><td> 周期/纪元字符串 - 如果要格式化的日期没有关联的纪元,则忽略。 </td></tr></tbody> </table> **时间代码**使用以下标记 - 这些也区分大小写。 <table> <thead><tr><th> 时间标记</th><th> 描述 </th></tr></thead><tbody><tr><td> h</td><td> 小时,对于个位数的小时,没有前导零,12 小时制。 </td></tr><tr><td> hh</td><td> 小时,对于个位数的小时,有前导零,12 小时制。 </td></tr><tr><td> H</td><td> 小时,没有前导零,24 小时制。 </td></tr><tr><td> HH</td><td> 小时,有前导零,24 小时制。 </td></tr><tr><td> m</td><td> 分钟,没有前导零。 </td></tr><tr><td> mm</td><td> 分钟,有前导零。 </td></tr> </td></tr><tr> <td> s</td><td> 无前导零的秒。(如果指定了特殊 **M** 标志,则包括毫秒。请参见上文。) </td></tr><tr><td> ss</td><td> 带前导零的秒。(如果指定了特殊 **M** 标志,则包括毫秒。请参见上文。) </td></tr><tr><td> t</td><td> 一个字符的 AM/PM 字符串(例如 *A* 或 *P*)。请参见上文关于区域设置的注释。 </td></tr><tr><td> tt</td><td> 多个字符的 AM/PM 字符串。请参见上文关于区域设置的注释。 </td></tr></tbody>