我正在寻找一个代表并发事件的类,例如:在每个工作日,从10:00开始,需要2个小时.等等..
我知道如何实现它我的自我,我想知道是否有一个预先设定的类.
TNX!
我正在尝试计算程序中的视频帧速率.要做到这一点,我采取
DateTime.Now
Run Code Online (Sandbox Code Playgroud)
在流的开头,然后在每一帧之后再次增加一个帧计数器.
然后我像这样计算FPS:
int fps = (int)(frames / (TimeSpan.FromTicks(CurrentTime.Ticks).Seconds - TimeSpan.FromTicks(StartTime.Ticks).Seconds));
Run Code Online (Sandbox Code Playgroud)
问题是我偶尔会得到一个负数,这意味着开始时间必须晚于当前时间.情况怎么样?有没有人知道这些功能需要解释?
可能重复:
如何计算相对时间?
在SO上发布内容时显示发布5 mins ago或1hr ago.如何计算时间并以相同方式显示?
我想为验证TextBox格式hh.mm创建RegularExpressionValidator .
这个表达式有效:
^([0-9]|0[0-9]|1[0-9]|2[0-3]).[0-5][0-9]$
Run Code Online (Sandbox Code Playgroud)
但是,如果我5454在TextBox中插入它也会通过,但它不应该通过.
我有一系列时间间隔,每隔15分钟,例如:
00:00:00,
00:15:00,
00:30:00,
00:45:00,
01:00:00
等等
我想循环,只显示30分钟间隔的那些.我尝试过使用.compare但是这并没有得到我需要的东西.
例如:
var interval = TimeSpan.FromMinutes(30);
foreach(var t in MyArray)
{
if(TimeSpan.Compare(inteval, t.Time) == 0)
Do something
}
}
Run Code Online (Sandbox Code Playgroud)
这在技术上有效,但只会匹配00:30:00.我可以在循环中添加间隔并使用类似的东西:
var interval = new TimeSpan(t.Hour, 30, 0)
Run Code Online (Sandbox Code Playgroud)
但那只会得到00:30:00,01:30:00.
有没有办法让时间像一个通配符,每30分钟一次?
我想要的输出是:
00:00:00
00:30:00
01:00:00
01:30:00
等等
我有一个函数,通过添加TtimeSpans 来计算总工时.我试图通过网络搜索并找到了一些东西TimeSpan.Add().
以下是我的代码示例:
TimeSpan TotalWorkHours = new TimeSpan(0,0,0);
List<TimeSpan> Interval = new List<TimeSpan>();
Interval.Add(TimeSpan.Parse("04:20:07"));
Interval.Add(TimeSpan.Parse("03:59:49"));
//Having a looping to Add in the Interval and combine the total work hours
for(int i = 0; i < Interval.count; i++)
{
if(i == 0)
TotalWorkHours = Interval[i];
else
//This section will always add in "00:00:00"
TotalWorkHours.Add(Interval[i]);
}
Run Code Online (Sandbox Code Playgroud)
然而,由此产生的时间跨度是00:00:00.哪里出错了?
我需要将表示小时的浮点数转换为小时:分钟:秒.
如何使用C#实现这一点.
目前我正在将这个5.4898391027272906浮动小时转换为小时分钟和秒,我得到的结果只有几小时和几分钟而不是秒.
以下是我的代码:
double time = 5.4898391027272906;
double hours = Math.Floor(time);
double minutes = Math.Floor(time * 60 % 60);
double seconds = Math.Floor(time * 360 % 360);
Run Code Online (Sandbox Code Playgroud)
结果:小时= 5,分钟= 29,秒= 176
但我希望在60秒之间获得一秒钟.
TimeSpan ts = DateTime.Now.Subtract(DateTime.Parse(reader1["cur_time"].ToString()));
int a = ts.Minutes;
MessageBox.Show(a.ToString());
MessageBox.Show(ts.Milliseconds.ToString());
Run Code Online (Sandbox Code Playgroud)
通过减去时间,它给我8分钟是正确的.但是在毫秒内转换了这8分钟没有给出正确的答案.如果我转换8分钟毫秒,它应该是480000毫秒,但上面的代码给我708回答.
我想检查时间跨度字符串的正确格式
intervalString = "23:54:00";
format = "hh\\:mm\\:ss";
culture = CultureInfo.CurrentCulture;
var reded= TimeSpan.ParseExact(intervalString, "hh\\:mm\\:ss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
结果是 23:54:00
如果我试着,intervalString = "28:54:00";我得到一个例外.
如何检查它是否失败并毫无例外地继续我的代码?
我需要在C#中将字符串“ 26h44m3s”解析为TimeSpan。我找不到在.NET中实现的任何可以处理的东西。那么,如何以一种干净的方式完成它呢?对此有任何现有的细节吗?
我正在从Twitch API端点GetVideos的“ duration”属性中接收字符串。