将Comparison运算符与DateTime数据类型一起使用

时间:2014-11-14 16:45:43

标签: datetime biztalk

我是新的C#,不知道如何比较DateTime数据类型。如果我使用相等运算符,它可以正常工作:

RM(FILE.FileCreationTime) == System.DateTime.Parse("11:30:00")

但我在使用时向我显示错误:

RM(FILE.FileCreationTime) <= System.DateTime.Parse("11:30:00")

错误就像:

  

operator&lt; =无法应用于System.DateTime和System.DateTime类型的操作数

3 个答案:

答案 0 :(得分:2)

重要的是,您使用的语法实际上不是c#!! 在BizTalk业务流程中工作时,您使用的是基于XLANG的C#变体。

您可以在此处找到更多信息:http://masteringbiztalkserver.wordpress.com/2011/02/21/debugging- 配器合的BizTalk服务器-2009-使用-C-CS-文件/

  

Orchestration * .odx文件包含一个XML文件和用   BizTalk特有的语言称为X#。

     

当您右键单击业务流程时,您可以轻松找到这些内容   用XML Editor或Notepad打开它。

     

Orchestration的XML表示由Graphical使用   设计师在屏幕上显示形状。

     

X#代码在运行时使用XSharp.exe文件转换为C#   这个C#程序集将被执行。

     

这个C#文件可以在里面找到   一旦项目出现,\ obj \ Debug \ BizTalk \ Xlang \ File0.cs   建。

所以,这里的c#标签实际上是不正确的,我会认真考虑从你的问题中删除它。

尽管如此,您在BizTalk业务流程中遇到了问题。

我的建议:将一个System.DateTime类型的变量添加到您的业务流程中。 接下来,将您的变量分配给此值:RM(FILE.FileCreationTime).

这将允许您在形状中正确使用if命令。

答案 1 :(得分:1)

迟到 - 但我在寻找同样的答案时偶然发现了这一点。比较BizTalk表达式形状中的两个System.DateTime对象的方法是使用:

System.DateTime.Compare(DateTime1, DateTime2) 

使用> 0, = 0 or < 0 ...

在指定的情况下

!(System.DateTime.Compare(RM(FILE.FileCreationTime), System.DateTime.Parse("11:30:00")) > 0)

答案 2 :(得分:0)

尝试:

if (StartDate < EndDate)
// code

如果你想比较日期,而不是时间

if (StartDate.Date < EndDate.Date)
// code