在 Business Objects 中将计时器格式 hh:mm 转换为十进制格式 hh.decimal(mm)

Converting timer format hh:mm to decimal format hh.decimal(mm) in Business Objects

目的是根据当前时间格式化的列创建一个新的数据列。 例如我想要 4:20 -> 4.33。我找不到一种方法来操纵时间格式来分别提取小时和分钟以使用小时 +(分钟 / 60)。

感谢任何帮助。谢谢。

要从日期时间对象中挑选特定部分,您需要使用 FormatDate() 函数。它 returns 一个字符串,您需要在将小时和分钟相加之前使用 ToNumber() 函数将其转换为数字。那么让我们创建一些变量...

Current DateTime=CurrentDate()

Hours=ToNumber(FormatDate([Current DateTime];"hh"); "##")

Minutes=ToNumber(FormatDate([Current DateTime];"mm"); "##")

Hours Minutes Decimal=[Hours] + ([Minutes]/60)

如果你想把所有这些放在一个变量中,你当然可以这样做...

Hours Minutes Decimal All in One=ToNumber(FormatDate(CurrentDate();"hh"); "##") + (ToNumber(FormatDate(CurrentDate();"mm"); "##")/60)

要查找有关哪些值对应于日期时间值的哪些部分的文档,请执行以下操作...

  1. 导航到变量编辑器中的 FormatDate() 函数。
  2. 点击右下角的"More on this function"。
  3. 点击"Custom Formats"