是否可以Environment.TickCount
用来计算时间跨度?
int start = Environment.TickCount;
// Do stuff
int duration = Environment.TickCount - start;
Console.WriteLine("That took " + duration " ms");
Run Code Online (Sandbox Code Playgroud)
因为TickCount
已签名并将在25天后翻转(所有32位需要50天,但如果你想对数学有任何意义,你必须废弃已签名的位),看起来它太冒险了.
我正在使用DateTime.Now
.这是最好的方法吗?
DateTime start = DateTime.Now;
// Do stuff
TimeSpan duration = DateTime.Now - start;
Console.WriteLine("That took " + duration.TotalMilliseconds + " ms");
Run Code Online (Sandbox Code Playgroud) 我想将Timespan转换为Datetime.我怎样才能做到这一点?
我在Google上找到了一种方法:
DateTime dt;
TimeSpan ts="XXX";
//We can covnert 'ts' to 'dt' like this:
dt= Convert.ToDateTime(ts.ToString());
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以做到这一点?
在下面的示例中,为什么Milliseconds属性返回0但TotalMilliseconds属性返回5000
// 5 seconds
TimeSpan intervalTimespan = new TimeSpan(0, 0, 5);
// returns 0
intervalTimespan.Milliseconds;
// returns 5000.0
intervalTimespan.TotalMilliseconds
Run Code Online (Sandbox Code Playgroud) 我想知道一个简单的算法来检查给定的实例是否datetime
位于另外两个实例之间C#
.
注意:
我浏览了这个如何检查给定的日期时间对象是否在两个日期时间之间?这是为python和更多的PHP.大多数其他问题都是关于两者之间的差异.
细节:
我比较具体的时间,日期对我来说无关紧要.例如,我得到了DataBase
在10:00
Am- 9:00
Pm和我之间工作的工作人员的入职[例如]想知道在给定时间哪些工作人员在课堂上工作2:00 Pm
.现在,这将返回我此时参与的员工详细信息.
我想以人类可读的格式格式化一些命令执行时间,例如:
3 -> 3ms
1100 -> 1s 100ms
62000 -> 1m 2s
etc ..
Run Code Online (Sandbox Code Playgroud)
考虑到天,小时,分钟,秒......
有可能用C#
吗?
我收集了TimeSpans,它们代表了完成任务所花费的时间.现在我想找到在该任务上花费的平均时间.它应该很容易,但由于某种原因,我没有得到正确的平均值.
这是我的代码:
private TimeSpan? GetTimeSpanAverage(List<TimeSpan> sourceList)
{
TimeSpan total = default(TimeSpan);
var sortedDates = sourceList.OrderBy(x => x);
foreach (var dateTime in sortedDates)
{
total += dateTime;
}
return TimeSpan.FromMilliseconds(total.TotalMilliseconds/sortedDates.Count());
}
Run Code Online (Sandbox Code Playgroud) 我只是想知道是否需要TimeSpan,java.util
以便我可以定义这两次之间有多少小时,分钟和秒.
由此TimeSpan
我们可以有两次之间的时间间隔.喜欢
TimeSpan getTimeSpan( Date before, Date after ){...}
Run Code Online (Sandbox Code Playgroud)
要么
long timeSpan = System.currentTimeMillis();
// ... long job
timeSpan = System.currentTimeMillis() - timeSpan;
TimeSpan ts = new TimeSpan(timeSpan);
Run Code Online (Sandbox Code Playgroud)
有了它,TimeSpan
我们可以使用它SimpleDateFormat
.
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
format.format( timsSpan );
Run Code Online (Sandbox Code Playgroud)
我不确定这是否已经在Java中实现,但我还没有发现.
我需要在标识符和条件上合并两个pandas数据帧,其中一个数据帧中的日期在另一个数据帧中的两个日期之间.
Dataframe A有一个日期("fdate")和一个ID("cusip"):
我需要将此与此数据帧B合并:
在A.cusip==B.ncusip
和A.fdate
之间B.namedt
和B.nameenddt
.
在SQL中这将是微不足道的,但我能看到如何在pandas中执行此操作的唯一方法是首先在标识符上无条件合并,然后在日期条件上进行过滤:
df = pd.merge(A, B, how='inner', left_on='cusip', right_on='ncusip')
df = df[(df['fdate']>=df['namedt']) & (df['fdate']<=df['nameenddt'])]
Run Code Online (Sandbox Code Playgroud)
这真的是最好的方法吗?似乎如果可以在合并中进行过滤以避免在合并之后但在过滤器完成之前具有可能非常大的数据帧,则会好得多.
可能重复:
如何计算C#中某人的年龄?
我想基本计算员工的年龄 - 所以我们每个员工都有DOB,所以在C#方面我想做这样的事情 -
int age=Convert.Int32(DateTime.Now-DOB);
Run Code Online (Sandbox Code Playgroud)
我可以使用天和操纵然后获得年龄...但我想知道是否有我可以直接使用的东西来获得年数.
我有两个文本框.一个用于时钟,一个用于时钟输出.时间将采用以下格式:
Hours:Minutes
Run Code Online (Sandbox Code Playgroud)
可以说我已经在上午7点钟进入,并在下午2点钟出发.
使用我当前的代码,我得到2小时的差异,但它应该是7小时.我怎么会在C#中做到这一点.通过让用户选择AM或PM,我将转换为24小时,但我感到困惑.
所以,基本上,我如何计算两次之间的小时数差异?
我试过这个,但是当我插入数字时,却得了2个小时而不是7个小时.
DateTime startTime = Convert.ToDateTime(textBox1.Text);
DateTime endtime = Convert.ToDateTime(textBox2.Text);
TimeSpan duration = startTime - endtime;
Run Code Online (Sandbox Code Playgroud)