【问题标题】:How to format a string to date in tibco spotfire如何在 tibco spotfire 中将字符串格式化为日期
【发布时间】:2018-09-12 02:49:27
【问题描述】:

我无法将看起来像“04/20/2016”的字符串解析为 Tibco spotfire 中的日期格式。当我使用 parseDate("04-20-2016","MM-dd-yyyy") 时,格式为“04-20-2016”的字符串已被解析为日期,但相同的功能不适用于“04/20” /2016" 结果只是空的。

我可以简单地使用 Date("04/20/2016") 成功地将字符串解析为 2016 年 4 月 20 日,但是当我在 web Player 中打开它时它再次为空,它仅在我打开 . dxp 文件在我的本地机器中。

【问题讨论】:

  • 为了清楚起见,您正在将函数从 parseDate("04-20-2016","MM-dd-yyyy") 更新为 parseDate("04/20/2016","MM /dd/yyyy"),对吗?
  • 是的。!!!尽管您使用 parseDate("04/20/2016","MM/dd/yyyy"),但输出仍然是空的。!!
  • 如果您尝试转换整个列,我会使用转换来更改数据类型。

标签: tibco spotfire


【解决方案1】:

我可以在胖客户端中重现您的问题。作为一种解决方法,您可以使用Substitute()/ 替换为-

ParseDate(Substitute([d],'/','-'), "mm-dd-yyyy")

还值得注意的是,如果您的日期格式是 mm-dd-yyyy 并且您的日期是 4/20/2016ParseDate() 将无法解析它(它期待 mm 的前导 0)。


我无权访问 Web Player 实例来检查 Date() 功能,但我建议检查 Web Player 机器上的区域设置并确保它与传入日期的格式相同(即,如果主机上的格式为dd/mm/yyyy,它将尝试解析04/20/2016并失败,因为没有第20个月。

【讨论】:

  • 谢谢,现在使用替代解决了我的问题,因为我注意到我得到的字符串格式为 04/20/2016 而不是 4/20/2016。
  • 一定要检查您的格式字符串,并确保在这种情况下它不会期望两位数的月份
【解决方案2】:

要使其适用于不带前导 0 的日期,您可以实现:

ParseDate(Substitute([StringDate],"/","-"),"d-M-yyyy")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-14
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多