如何在PowerApps中计算'dd/mm/yyyy hh:mm AM/PM'格式日期的小时差
在PowerApps中计算
dd/mm/yyyy hh:mm AM/PM格式日期的小时差 步骤1:将文本格式日期转换为DateTime类型
PowerApps无法直接识别dd/mm/yyyy hh:mm AM/PM格式的文本字符串,需要用ParseDateTime函数指定格式解析:
// 假设起始日期文本控件名为txtStart,结束日期为txtEnd Set(StartDateTime, ParseDateTime(txtStart.Text, "dd/MM/yyyy hh:mm tt")); Set(EndDateTime, ParseDateTime(txtEnd.Text, "dd/MM/yyyy hh:mm tt"));
- 格式串说明:
dd代表日,MM代表月,yyyy代表年,hh代表12小时制的小时,tt代表AM/PM标识。
步骤2:计算小时数差值
用DateDiff函数直接计算两个DateTime值的小时差:
Set(HourDifference, DateDiff(StartDateTime, EndDateTime, Hours));
- 结果为正数表示结束日期晚于起始日期,负数则相反。
带格式校验的完整写法
避免用户输入错误格式导致报错,可以加入错误判断:
If( !IsError(ParseDateTime(txtStart.Text, "dd/MM/yyyy hh:mm tt")) && !IsError(ParseDateTime(txtEnd.Text, "dd/MM/yyyy hh:mm tt")), Set(HourDifference, DateDiff(ParseDateTime(txtStart.Text, "dd/MM/yyyy hh:mm tt"), ParseDateTime(txtEnd.Text, "dd/MM/yyyy hh:mm tt"), Hours)), Notify("请输入正确的日期格式:dd/mm/yyyy hh:mm AM/PM", NotificationType.Error) );
内容的提问来源于stack exchange,提问作者Maikol Cucunuba
相关产品推荐
相关产品推荐

