如何减去两个日期并获得TimeSpan返回的对象的总小时数?
例如,如果TimeSpan为2天,则总小时数为48.
我需要以"hh:mm"(无秒)格式接收一些时间信息.该属性定义如下:
[DataType(DataType.Time), DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = @"{0:hh\:mm}")]
public TimeSpan SomeTimeProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
服务器端验证按预期工作.但是,我无法使客户端验证工作,因为没有生成客户端验证规则.
我怎样才能使它工作?
鉴于DateTime start = startsomething和DateTime end = endSomething
有没有一种标准的方法可以在开始和结束时返回所有日期,这样返回的日期列表就像...
'1/1/2012 12:00 AM'
'1/2/2012 12:00 AM'
Run Code Online (Sandbox Code Playgroud) 我有几个看起来像这样的字符串:
其中S代表秒,M代表分钟
"MM Minutes and XX Seconds"
"MM Minutes"
"SS Seconds"
":SS"
Run Code Online (Sandbox Code Playgroud)
如何将其转换为以下之一:字符串格式"MM:SS"TimeSpan格式
任何帮助赞赏!谢谢!
我知道以前有人问过这个问题,但我不知道如何获得适用于我的特定示例的答案。这是一个用 C# 编写的 WPF 应用程序,我正在尝试从时间跨度中删除几分钟。
到目前为止,我已经让应用程序通过从完成时间中删除开始时间来计算持续时间,但我现在要做的是删除用户在表单中输入的分钟数。
这是到目前为止的代码
private void testcal_Click(object sender, EventArgs e)
{
string startTime = teststart.Text;
string finishTime = testfinish.Text;
// Trying to deduct this lunchTime var from the duration TimeSpan
string lunchTime = testlunch.Text;
TimeSpan duration = DateTime.Parse(finishTime).Subtract(DateTime.Parse(startTime));
testlabel.Text = duration.ToString(@"hh\:mm");
}
Run Code Online (Sandbox Code Playgroud)
编辑 - 更新为包括私人无效
我创建了一个返回时间跨度的 C# REST WCF 服务。在客户端,我得到 JSON 序列化的返回值,如 PT14H、PT16H 等。如何将此字符串转换为实际时间跨度?
我有两个这样的时间跨度:
TimeSpan Starttime : 16:37:00
TimeSpan EndTime: 17:37:00
Run Code Online (Sandbox Code Playgroud)
当前时间:
DateTime currentDate = DateTime.Now;
TimeSpan now = currentDate.TimeOfDay;
Run Code Online (Sandbox Code Playgroud)
问题:
我无法弄清楚如何知道当前时间是否在开始时间和结束时间之间.我想只在这两个时间盘之间发送消息.
我该怎么做呢?
我的尝试:
if(startTime.Hours < now.Hours && endTime.Hours > now.Hours)
// do stuff
Run Code Online (Sandbox Code Playgroud)
这并不涵盖所有场景,因为我需要它恰好在starttime和endtime之间到最后一秒,但我不知道如何做到这一点.
C#4.0的答案不再适用.< - (对不起,这是错的)
如何将TimeSpan用作具有默认值的可选参数?
public static Foo(string myString, TimeSpan maxWait = TimeSpan.FromSeconds(1))
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
使用此代码我收到错误:
default参数必须是编译时常量
我有一个events像这样命名的表:
id: int
source_id: int
start_datetime: timestamp
end_datetime: timestamp
Run Code Online (Sandbox Code Playgroud)
这些事件可能有重叠,我想知道在一段时间内发生的重叠事件的最大数量。例如,在这样的情况下:
id | source_id | start_datetime | end_datetime
----------------------------------------------------------
1 | 23 | 2017-1-1T10:20:00 | 2017-1-1T10:40:00
1 | 42 | 2017-1-1T10:30:00 | 2017-1-1T10:35:00
1 | 11 | 2017-1-1T10:37:00 | 2017-1-1T10:50:00
Run Code Online (Sandbox Code Playgroud)
答案是 2,因为最多 2 个事件在 10:30 到 10:35 重叠。
我正在使用 Postgres 9.6
我如何舍入以在毫秒内仅获得一位数字?
我尝试了此链接中的一些解决方案,但没有一个解决方案:Can you round a .NET TimeSpan object?
00:23:01.4999890 -> 00:23:01.5
15:02:02.9999785 -> 15:02:03.0
08:03:59.9605388 -> 08:04:00.0
03:16:00.8605388 -> 03:16:00.9
19:12:01.8420745 -> 19:12:01.8
04:05:03.8417271 -> 04:05:03:8
Run Code Online (Sandbox Code Playgroud) timespan ×10
c# ×7
asp.net-mvc ×2
datetime ×2
.net ×1
c#-7.0 ×1
default ×1
duration ×1
javascript ×1
json ×1
math ×1
parameters ×1
postgresql ×1
rounding ×1
sql ×1
validation ×1
wpf ×1