Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Net Razor:将2 DateTime的减法格式转换为特定于字符串的格式_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net Net Razor:将2 DateTime的减法格式转换为特定于字符串的格式

Asp.net Net Razor:将2 DateTime的减法格式转换为特定于字符串的格式,asp.net,asp.net-mvc,razor,Asp.net,Asp.net Mvc,Razor,我有1个model.DateTime值(这是我从数据库中得到的),我想表示model DateTime,它是结束时间,DateTime.Now是现在时间 我想将这两个DateTime-s的减法格式设置为特定的字符串格式“dd:hh:mm:ss”编辑的 您只需执行以下操作: DateTime CurrentDateTime = DateTime.Now; item.duration.Subtract(CurrentDateTime).ToString(@"dd\:hh\:mm\:ss"); 希望

我有1个model.DateTime值(这是我从数据库中得到的),我想表示model DateTime,它是结束时间,DateTime.Now是现在时间


我想将这两个DateTime-s的减法格式设置为特定的字符串格式“dd:hh:mm:ss

编辑的

您只需执行以下操作:

DateTime CurrentDateTime = DateTime.Now;
item.duration.Subtract(CurrentDateTime).ToString(@"dd\:hh\:mm\:ss");

希望这将有助于

在您的ASP.Net视图页面中,您可以打开razor block并计算两个日期时间类型变量之间的差异

@{
    DateTime end = (DateTime)item.close_date_time;                               
    DateTime now = DateTime.Now;
    TimeSpan diff = end.Subtract(now);
}    
然后,您可以简单地将TimeSpan diff转换为字符串:

@diff.ToString(@"dd\:hh\:mm\:ss")

至此,我已经解决了时差问题,并将其格式化为特定的字符串。

A
元素在这里似乎不合适。您可以使用
@item.duration.ToString(“dd:hh:mm:ss”)
或使用
[DisplayFormat(DataFormatString=“{0:dd:hh:mm:ss}”)]
属性应用于您的属性和
@Html.DisplayFor(m=>item.duration)
,但只有当您的属性是
DateTime时,这才有效,但有一个问题,我已经设置为标签,因为我发送服务器推送通知,我得到标签,并改变它的内容。当然,如果可能的话,这就是为什么我希望以某种方式将label与此格式一起使用的原因。
是与表单控件关联的元素(点击它会将焦点设置为关联的控件),因此使用它是不正确的。但是您可以始终使用
@item.duration.ToString(“dd:hh:mm:ss”)
@StephenMuecke似乎不起作用:当我编写您在评论中提供的部分代码时,我只在屏幕上看到输出:dd:hh:mm:ss?!它只打印未格式化的格式。它工作正常。
项的初始值。持续时间
?建议您根据编辑的答案(即
.ToString(@“dd\.hh\:mm\:ss”)
)编辑此项,以显示
时间跨度所需的格式字符串,答案的第二部分不相关,因为它不是
字符串
。就目前情况而言,这个答案是错误的,将被否决voted@Stephen感谢您的关注,但答案已被接受。@Stephen Muecke发布您认为正确的答案!没有意义,只需更新您的答案,使其现在正确:)