日期

提供了 Date 对象,以便更容易地处理表示日期的变量。它会自动转换为 ActiveX VT_DATE 值,因此可以作为脚本语言的原生日期变量的插入式替换。它的主要优势在于保留毫秒,而 VT_DATE 具有 1 秒分辨率。它还提供了一些用于处理日期的实用方法。Item 对象有许多返回Date** 对象的属性。

可以使用 DOpusFactory.Date 方法创建一个新的 Date 对象。

属性名称返回类型说明

<默认值>

date

返回一个表示此 Date 对象的值(不包括毫秒)的 VT_DATE

day

int

获取或设置日期的 day 值。

hour

int

获取或设置日期的 hour 值。

min

int

获取或设置日期的 minute 值。

month

int

获取或设置日期的 month 值。

ms

int

获取或设置日期的 milliseconds 值。

sec

int

获取或设置日期的 seconds 值。

wday

int

获取日期的 day-of-the-week 值。

year

int

获取或设置日期的 year 值。

方法名称**参数**返回类型说明

Add

<int:value> <string:type>

将指定的值添加到日期。指定值的解释由 type 字符串控制:

l

毫秒

s

m

分钟

h

小时

d

w

M

y

Clone

*对象:*Date

返回一个新的 Date 对象,设置为与该对象相同的日期。

l

毫秒

s

m

分钟

h

小时

d

w

M

y

Clone

Compare

<date:other> [<string:type>] [<int:tolerance>]

int

将此日期与 other 日期进行比较。返回值为 0(相等)、1(大于)或 -1(小于)。

可选的 type 字符串控制如何执行比较:

s

忽略秒数。如果指定了,可选的 tolerance 参数将指定以秒为单位的比较容差。

sD

忽略秒数,并自动补偿夏令时。

t

仅比较时间

d

仅比较日期

Format

[<string:format>] [<string:flags>]

string

返回一个格式化的日期或时间字符串。formatflags 参数都是可选的。

如果不提供 format,结果将包括日期和时间,格式与文件列表中的日期时间列相同。

如果您提供的 format 仅为“"d"”或**"t"**”,那么结果将只是日期或时间部分,格式与文件列表中的日期或时间列相同。

文件列表的格式取决于用户的语言环境和 Windows 设置。如果您希望以用户期望的方式向用户呈现日期/时间,应该使用这些选项,但如果您需要将它们存储在特定格式中,则不应使用这些选项。

当使用文件列表的格式时(即 format 参数为空、"d""t"),您还可以在第二个 flags 参数中传递一个或多个区分大小写的标志,以覆盖一些设置:

N

强制在过去一周内的日期中显示星期几名称。“今天”、“星期一”等。

n

强制不显示星期几名称。

S

强制在时间中显示秒数。

s

强制不显示秒数。

M

强制在时间中显示毫秒。(如果存储的时间没有毫秒精度,则毫秒将为零。)

m

强制不显示毫秒。

P

强制时间小时数填充为两位数。

p

不强制时间小时数填充。

例如,要仅获取日期(使用用户的语言环境),但强制关闭星期几名称:

myDate.Format("d","n")

要获取日期和时间(使用用户的语言环境),但强制打开星期几名称和关闭秒数:

myDate.Format("","Ns")

format 还可以使用 日期和时间的代码 中所示的语法,从而允许采用任意格式。例如,

myDate.Format("D#yyyy-MM-dd T#HH:mm:ss")

这将返回一个类似 2023-07-28 15:45:26 的字符串。

当显式指定格式时,不应使用 flags 参数,它将被忽略。

s

忽略秒数。如果指定了,可选的 tolerance 参数将指定以秒为单位的比较容差。

sD

忽略秒数,并自动补偿夏令时。

t

仅比较时间

d

仅比较日期

Format

N

强制在过去一周内的日期中显示星期几名称。“今天”、“星期一”等。

n

强制不显示星期几名称。

S

强制在时间中显示秒数。

s

强制不显示秒数。

M

强制在时间中显示毫秒。(如果存储的时间没有毫秒精度,则毫秒将为零。)

m

强制不显示毫秒。

P

强制时间小时数填充为两位数。

p

不强制时间小时数填充。

FromUTC

*对象:*Date

返回一个新 Date 对象,其中日期已从 UTC 转换(基于本地时区)。

Reset

将日期重置为当前的本地日期/时间。

Set

<date:newdate>

将此 Date 对象的值设置为提供的日期。newdate 可以是:

  • 另一个 Date 对象

  • 格式为“yyyymmdd”的字符串

  • 格式为“yyyy-mm-dd hh:mm:ss.mmm”(或其一部分)的字符串

  • JScript Date 对象

  • unix epoch 时间值(自 1/1/1970 以来经过的秒数)。

  • 字符串“now”(设置为当前时间)

Sub

<int:value> <string:type>

从日期中减去指定的值。参数与 Add 方法的参数相同。

ToUTC

none

*object:*Date

返回一个新的 Date 对象,该对象的日期已转换为 UTC(基于本地时区)。

最后更新于