适用于: 画布应用
Copilot Studio
Desktop 流
模型驱动应用
Power Platform CLI
Dataverse 函数
Power Pages
将字符串类型的日期和/或时间转换为日期/时间值。
描述
DateValue 函数将 日期字符串 (如“2014/10/01”)转换为 日期/时间 值。
TimeValue 函数将 时间字符串 (如“12:15 PM”)转换为 日期/时间 值。
DateTimeValue 函数将 日期和时间字符串 (如“2013 年 1 月 10 日 12:13 AM”)转换为 日期/时间 值。
DateValue 函数忽略日期字符串中的任何时间信息,函数 TimeValue 将忽略时间字符串中的任何日期信息。
备注
默认情况下 DateValue,函数 TimeValue和 DateTimeValue 函数使用当前用户设置中的语言。 您可以覆盖它以确保正确解释字符串。 例如,“10/1/1920”在“en”中解释为 10 月 1 日,在“fr”中解释为 10 月 10 日。
日期必须使用以下格式之一:
- MM/DD/YYYY 或 MM-DD-YYYY
- DD/MM/YYYY 或 DD-MM-YYYY
- YYYY/MM/DD 或 YYYY-MM-DD
- MM/DD/YY 或 MM-DD-YY
- DD/MM/YY 或 DD-MM-YY
- DD 月 YYYY
- YYYY年MM月DD日
要从数字日期、月份和年份组件进行转换,请阅读 Date。
要从数字小时、分钟和秒进行转换,请阅读 Time。
有关详细信息,请参见:
语法
DateValue( 字符串 [, 语言] )
DateTimeValue( 字符串 [, 语言 ] )
TimeValue( 字符串 [, 语言 ] )
- string - 必需。 包含日期、时间或日期和时间值组合的文本字符串。
- language- 可选。 语言字符串,例如可通过 Language 函数返回语言的前两个字符。 如果未提供,则使用当前用户设置的语言。
DateValue( 动态 )
DateTimeValue( 动态 )
TimeValue( 动态 )
- 动态 - 必需。 表示日期或时间的动态值。 可接受值取决于非类型化提供程序。 对于 JSON,动态值应为 JSON 字符串,其中包含采用 ISO 8601 格式的日期和时间。 其他格式的日期或时间会导致错误。 考虑先将这些值转换为文本,然后再转换为日期或时间。 请记住,在与外部系统通信时,时区和与区域设置相关的格式是重要的注意事项。
示例
DateValue
如果在标准 文本输入控件中键入了 10/11/2014,然后将标签的 Text 属性设置为以下公式:
从用户区域设置中的字符串转换日期,并将结果显示为长日期。
Text( DateValue( Startdate.Text ), DateTimeFormat.LongDate )设置为 en 区域设置的设备会将标签显示为 Saturday, October 11, 2014。
备注
您可以通过 DateTimeFormat 枚举使用多个选项。 要显示选项列表,请在公式栏中键入参数,后跟点或句点 (.),或查看 Text 函数参考。
从“法语”区域设置中的字符串转换日期,并将结果显示为长日期。 在此示例中,月份中的月和日与英语的解释方式不同。
Text( DateValue( Startdate.Text, "fr" ), DateTimeFormat.LongDate )设置为 en 区域设置的设备会将标签显示为 Monday, November 10, 2014。
如果改为输入 2014 年 10 月 20 日:
从用户区域设置中的字符串转换日期,并计算两天之间的差值(以天为单位)
DateDiff( DateValue( Startdate.Text ), Today() )设置为 en 区域的设备将标签显示为 9,指示 10 月 11 日至 10 月 20 日之间的天数。 DateDiff 函数还可以显示月份、季度或年份之间的差值。
DateTimeValue
如果在名为开始的文本输入控件中键入了 10/11/2014 1:50:24.765 PM,则将标签的 Text 属性设置为以下公式:
在当前区域设置中转换日期和时间字符串。
Text( DateTimeValue( Start.Text ), DateTimeFormat.LongDateTime )设置为 en 区域设置的设备会将标签显示为 Saturday, October 11, 2014 1:50:24 PM。
备注
您可以通过 DateTimeFormat 枚举使用多个选项。 要显示选项列表,请在公式栏中键入参数,后跟点或句点 (.),或查看 Text 函数参考。
在“法语”区域设置中转换日期和时间字符串。 月份中的月和日的解释方式不同。
Text( DateTimeValue( Start.Text, "fr"), DateTimeFormat.LongDateTime )设置为 en 区域设置的设备会将标签显示为 Monday, November 10, 2014 1:50:24 PM。
在用户的区域设置中转换日期和时间字符串,并以小数秒显示结果。
Text( DateTimeValue( Start.Text ), "dddd, mmmm dd, yyyy hh:mm:ss.fff AM/PM" )设置为 en 区域设置的设备会将标签显示为 Saturday, October 11, 2014 01:50:24.765 PM。
还有一种方法是指定 hh:mm:ss.f 或 hh:mm:ss.ff 以将时间传入到秒的最接近 10 倍或 100 倍值。
TimeValue
将文本输入控件命名为 FinishedAt,然后将标签的 Text 属性设置为以下公式:
If( TimeValue( FinishedAt.Text ) < TimeValue( "5:00:00.000 PM" ),
"You made it!",
"Too late!"
)
- 如果在 FinishedAt 控件中输入 4:59:59.999 PM,标签会显示“You made it!”
- 如果在 FinishedAt 控件中键入 5:00:00.000 PM,标签会显示“Too late!”