草庐IT

Primitives-DateTime

全部标签

c# - 在 C# 中是否有更好的方法将 DateTime 舍入到最接近的 5 秒?

我想将DateTime舍入到最接近的5秒。这是我目前正在做的方式,但我想知道是否有更好或更简洁的方式?DateTimenow=DateTime.Now;intsecond=0;//roundtonearest5secondmarkif(now.Second%5>2.5){//roundupsecond=now.Second+(5-(now.Second%5));}else{//rounddownsecond=now.Second-(now.Second%5);}DateTimerounded=newDateTime(now.Year,now.Month,now.Day,now.Hour

c# - 为什么 DateTime.Now DateTime.UtcNow 如此缓慢/昂贵

我意识到这离微优化领域太远了,但我很想知道为什么调用DateTime.Now和DateTime.UtcNow如此“昂贵”。我有一个示例程序,它运行几个场景来做一些“工作”(添加到一个计数器)并尝试这样做1秒钟。我有几种方法可以让它在有限的时间内完成工作。这些示例表明DateTime.Now和DateTime.UtcNow比Environment.TickCount慢得多,但即使这样也比让一个单独的线程休眠1秒然后设置一个值以指示工作线程停止相比慢。所以我的问题是:我知道UtcNow更快,因为它没有时区信息,为什么它仍然比TickCount慢这么多?为什么读取bool值比读取整数快?处理

c# - 为什么 DateTime.Now DateTime.UtcNow 如此缓慢/昂贵

我意识到这离微优化领域太远了,但我很想知道为什么调用DateTime.Now和DateTime.UtcNow如此“昂贵”。我有一个示例程序,它运行几个场景来做一些“工作”(添加到一个计数器)并尝试这样做1秒钟。我有几种方法可以让它在有限的时间内完成工作。这些示例表明DateTime.Now和DateTime.UtcNow比Environment.TickCount慢得多,但即使这样也比让一个单独的线程休眠1秒然后设置一个值以指示工作线程停止相比慢。所以我的问题是:我知道UtcNow更快,因为它没有时区信息,为什么它仍然比TickCount慢这么多?为什么读取bool值比读取整数快?处理

mysql 允许datetime的字段默认值为“0000-00-00 00:00:00“格式

在MySQL中,DATETIME数据类型不允许默认值为"0000-00-0000:00:00",因为这个日期值不符合MySQL日期范围(从"1000-01-0100:00:00"到"9999-12-3123:59:59")。但是,如果您确实需要将DATETIME字段的默认值设置为"0000-00-0000:00:00",您可以通过更改MySQL的SQL模式来实现。具体来说,您可以使用以下命令将SQL模式更改为允许默认值为"0000-00-0000:00:00":SETsql_mode='ALLOW_INVALID_DATES';或者,在MySQL的配置文件my.cnf中添加以下行:[mysql

c# - 如何将两个 DateTime 与秒进行比较?

如何比较两个DateTime的秒数? 最佳答案 vardate1=DateTime.Now;vardate2=newDateTime(1992,6,6);varseconds=(date1-date2).TotalSeconds; 关于c#-如何将两个DateTime与秒进行比较?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3816163/

c# - 如何将两个 DateTime 与秒进行比较?

如何比较两个DateTime的秒数? 最佳答案 vardate1=DateTime.Now;vardate2=newDateTime(1992,6,6);varseconds=(date1-date2).TotalSeconds; 关于c#-如何将两个DateTime与秒进行比较?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3816163/

c# - 在 For 循环中使用 DateTime,递增日期不起作用

我有这个循环,它的目的是循环遍历一系列日期并执行一些逻辑以自动将条目添加到数据库中。问题是递增部分date.AddDays(1.0)不起作用,并且始终是相同的结果,从而导致无限循环。有什么见解吗?for(DateTimedate=DateTime.Now;futureDate.CompareTo(date)>0;date.AddDays(1.0)){//logichere} 最佳答案 DateTime.AddDays返回一个新实例而不修改date.目前你正在丢弃这个新实例。相反,您需要执行以下操作:for(DateTimedate=

c# - 在 For 循环中使用 DateTime,递增日期不起作用

我有这个循环,它的目的是循环遍历一系列日期并执行一些逻辑以自动将条目添加到数据库中。问题是递增部分date.AddDays(1.0)不起作用,并且始终是相同的结果,从而导致无限循环。有什么见解吗?for(DateTimedate=DateTime.Now;futureDate.CompareTo(date)>0;date.AddDays(1.0)){//logichere} 最佳答案 DateTime.AddDays返回一个新实例而不修改date.目前你正在丢弃这个新实例。相反,您需要执行以下操作:for(DateTimedate=

c# - 如果 DateTime 是不可变的,为什么下面的工作?

我以为我理解了Immutable的意思,但是我不明白为什么下面的编译和工作:DateTimedt=DateTime.Now;Console.WriteLine(dt);多次复制粘贴下一部分dt=DateTime.Now;Console.WriteLine(dt);Console.ReadLine();正如预期的那样,它运行了,当我按下回车键时,它会显示下一次……我认为这是不可能的,我需要创建一个新对象。为什么允许/工作?或者,我工作的书是不是错了,而且DateTime不是一成不变的(但是我已经在多个来源上阅读过这本书)? 最佳答案

c# - 如果 DateTime 是不可变的,为什么下面的工作?

我以为我理解了Immutable的意思,但是我不明白为什么下面的编译和工作:DateTimedt=DateTime.Now;Console.WriteLine(dt);多次复制粘贴下一部分dt=DateTime.Now;Console.WriteLine(dt);Console.ReadLine();正如预期的那样,它运行了,当我按下回车键时,它会显示下一次……我认为这是不可能的,我需要创建一个新对象。为什么允许/工作?或者,我工作的书是不是错了,而且DateTime不是一成不变的(但是我已经在多个来源上阅读过这本书)? 最佳答案