【问题标题】:Calculate date difference and remove the last 8 chars hh:mm:ss计算日期差并删除最后 8 个字符 hh:mm:ss
【发布时间】:2015-12-27 09:40:42
【问题描述】:

我目前正在一个资金管理系统中设计一个自定义报告,需要计算两个日期之间的差异,

{DateDiff(Date1,Date2)} 

上面的表达式会像1234.00:00:00一样输出

但我需要删除最后 8 个字符 00:00:00

不确定自定义报告生成器中使用的是什么语言,我尝试了以下删除功能,但无法获得结果:

【问题讨论】:

  • 您使用的是什么报告系统?如果你不懂语言,为什么会认为它是 C#?
  • 如果您使用忽略小时数的DateDiff(Date1.Date, Date2.Date) 怎么办?
  • 这个系统叫Reval,他们的实施团队告诉我报告系统中的语言是C#。
  • 我希望可以忽略小时,但是日期格式是“日期时间”,它包括小时,也输出小时。
  • 我可以大胆猜测这是 Crystal Reports。是否要更改问题的标签?

标签: c# date


【解决方案1】:

这不是 c#!

使用 substring 函数只取前 4 个字符。

result = Substring(result, 0, Length(result) - 9)

【讨论】:

  • 感谢您的帮助,实际上长度需要是动态的,因为它是通过日期差异计算的,如果差异足够大,我需要保留超过 4 个字符。我的一位朋友也说它不是 C#。
  • 改变了我的答案。现在将使用长度从字符串中删除最后 9 个字符
【解决方案2】:

你可以使用Split:

string dateDiff = "1234.00:00:00";
string dayDiff = dateDiff.Split('.')[0];

// dayDiff -> 1234

【讨论】:

  • 这与C#无关
  • 那么为什么要使用 C# 标签。并且:报告系统中的语言是 C#
  • C# 标签错误。语言不是 C#。它似乎有一些由报告工具解释的有限函数,并且命名类似于 C# 函数。
  • 还是谢谢大家,没有Split功能。我只能使用屏幕帽中的功能,只需删除第一个'。'以及这个 '.' 之后的所有字符。比如 1234.00:00:00 到 1234 123.00:00:00 到 123
  • 是的,可能不是 C#,但系统供应商告诉我是 C#,我选择了最相关的标签,对此感到抱歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-27
  • 2023-01-31
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 2013-12-21
相关资源
最近更新 更多