Date、DateTime 和 Time 函数

适用于: 画布应用 桌面流 模型驱动应用 Power Pages Power Platform CLI

将日期和时间组件转换为日期/时间值。

描述

Date 函数将单个年、月、日的值转换为日期/时间值。 时间部分为午夜。

  • 如果“年”介于 0 到 1899(含)之间,则函数将该值加上 1900,以计算年份。 70 年变成了 1970 年
  • 如果“月”小于 1 或大于 12,则结果将从指定年份的第一个月减去或加上该月数。
  • 如果“日”大于指定月的天数,函数将从该月的第一天加上该天数,并返回次月对应的日期。 如果“日”小于 1,函数将从指定月份的第一天减去该天数,再加 1。

Time 函数将小时、分钟、秒以及可选的毫秒值转换为日期/时间值。 其结果不与日期相关联。

DateTime 函数将 DateTime 函数组合成一个函数,同时接受日期和时间参数,并返回包含日期和时间组件的日期/时间值。

有关如何将字符串转换为值的信息,请参阅 DateValueTimeValueDateTimeValue 函数。

有关详细信息,请参阅处理日期和时间

语法

日期

  • Year - 必需。 大于 1899 的数值将被解释为绝对值(1980 被解释为 1980);介于 0 到 1899 之间的数值将被解释为相对于 1900。 (例如,80 将被解释为 1980。)
  • Month - 必需。 该数值介于 1 到 12 之间。
  • Day - 必需。 该数值介于 1 到 31 之间。

时间小时分钟 [, 毫秒 ])

  • 小时 - 必需。 小时数,通常在 0 (12:00 AM) 到 23 (11:00 PM) 之间。
  • minute - 必需。 分钟数,通常在 0 到 59 之间。
  • Second - 必需。 秒数,通常在 0 到 59 之间。
  • milliseconds - 可选。 毫秒数,通常在 0 到 999 之间。

DateTime,月 小时分钟 [, 毫秒 ])

  • Year - 必需。 大于 1899 的数值将被解释为绝对值(1980 被解释为 1980);介于 0 到 1899 之间的数值将被解释为相对于 1900。 (例如,80 将被解释为 1980。)
  • Month - 必需。 该数值介于 1 到 12 之间。
  • Day - 必需。 该数值介于 1 到 31 之间。
  • 小时 - 必需。 小时数,通常在 0 (12:00 AM) 到 23 (11:00 PM) 之间
  • minute - 必需。 分钟数,通常在 0 到 59 之间。
  • Second - 必需。 秒数,通常在 0 到 59 之间。
  • milliseconds - 可选。 毫秒数,通常在 0 到 999 之间。

示例

Date

如果用户

  • 1979 年在名为 HireYear 的文本输入控件中
  • 3 在名为 HireMonth 的文本输入控件中
  • 17 在名为 HireDay 的文本输入控件中

该公式将返回 3/17/1979

Date( Value(HireYear.Text), Value(HireMonth.Text), Value(HireDay.Text) )

时间

如果用户

  • 14 在名为 BirthHour 的文本输入控件中
  • 50 在名为 BirthMinute 的文本输入控件中
  • 24 在名为 BirthSecond 的文本输入控件中

该公式将返回 02:50:24 P

Text( 
    Time(Value(BirthHour.Text), Value(BirthMinute.Text), Value(BirthSecond.Text)), 
    "hh:mm:ss A/P" 
)

日期/时间

如果用户

  • 2023 在名为 EclipseYear 的文本输入控件中
  • 10 在名为 EclipseMonth 的文本输入控件中
  • 28 在名为 EclipseDate 的文本输入控件中
  • 13 在名为 EclipseHour 的文本输入控件中
  • 14 在名为 EclipseMinute 的文本输入控件中
  • 5 在名为 EclipseSecond 的文本输入控件中
  • 231 在名为 EclipseMillisecond 的文本输入控件中

该公式将返回 10/28/23 01:14:05.231 PM

Text(
    DateTime(Value(EclipseYear.Text), Value(EclipseMonth.Text), Value(EclipseDate.Text), 
        Value(EclipseHour.Text), Value(EclipseMinute.Text), 
        Value(EclipseSecond.Text), Value(EclipseSecond.Millisecond)
    ), 
    "yy/mm/dd hh:mm:ss.000 AM/PM"
)