Tag: datetime

在C#中添加DateTime

是否可以在C#中添加日期? (DateTime.Today.ToLongDateString() + 10) 我试过这个,但它不起作用。

与Linq的明确日期

我有一个名为Billings的实体,其属性为DateTime。 我需要独特地找到日期,以便我可以浏览它们并做一些事情。 我试过了: var DistinctYearMonthsDays = (from t in db.Billings where t.DateTime.HasValue select t.DateTime.Value.Date).Distinct(); foreach (var day in DistinctYearMonthsDays) 但我得到了(在foreach ): LINQ to Entities不支持指定的类型成员“Date”。 仅支持初始化程序,实体成员和实体导航属性。 搜索后我也尝试了以下但没有成功: IEnumerable DistinctYearMonthsDays = db.Billings .Select(p => new { p.DateTime.Value.Date.Year, p.DateTime.Value.Date.Month, p.DateTime.Value.Date.Day }).Distinct() .ToList() .Select(x => new DateTime(x.Year,x.Month,x.Day)); 任何帮助将非常感谢。

DateTime.Parse可以格式化exception格式的字符串吗?

我正在查看应用程序中的代码(其他人写的),在某些情况下它工作正常,在某些情况下它给出了exception,它实际上是在datetime中转换字符串,这里是代码 //5000 is the year,but what about “1” is it month or day ?,if its month //then what about the day ? DateTime time = DateTime.Parse(“1.5000”);//1.5000 doesn’t looks a date to me ? time.ToString();//returns “1/1/5000 12:00:00 AM” //where as if I give this string to DateTime.Parse(); time = DateTime.Parse(“2341.70”); //FormatException was unhandled //String was not […]

使用NodaTime计算包含天数

例如,如果我有以下代码: var nodaStart = new LocalDate(2012, 5, 1); var nodaEnd = new LocalDate(2012,5,2); var daysBetween = Period.Between(nodaStart, nodaEnd,PeriodUnits.Day); 然后daysBetween.Days == 1 但是,我计算的范围需要计算为2天。 即它需要包括开始和结束日期。 实际的方法可以采取开始和结束日期(相隔不超过一年),并需要计算天数。 如果超过31天,则剩余的数量将返回整周。 我有那种逻辑工作正常,但因为计数是独家我有一天出去了。 我想我可以在创建nodaStart之前做startDate.addDays(-1) ,但我想知道是否有更优雅/漂亮的方式让noda返回Period。 谢谢 更新:我已经阅读了Period类的源代码 ,并且+运算符被重载,所以我可以添加 daysBetween += Period.FromDays(1);

使用LINQ比较查询中的日期

我有一个Linq查询返回到var类型myQry var myQry = from ….. 这是一个很大的linq返回我需要进一步过滤的所有记录。 在我的一个if条件中,我有一个像这样运行的filter来检查日期。 我需要检查名称是否包含输入的名称,并确切地匹配生日。 我尝试了这个编译和运行,但没有正常工作 myQry.Where(x => x.FirstName.Contains(strName) && DateTime.Compare( x.BirthDt, searchDt)>=0).ToList() 然后我尝试了这个,它抛出exception“DbArithmeticExpression参数必须有一个数字公共类型” myQry.Where(x => x.FirstName.Contains(strName) && (x.BirthDt- searchDt).Days == 0).ToList(); 对于我在查询中使用where子句时的这种情况,进行日期比较的最佳方法是什么? LinQ查询的where子句中不允许进行哪些操作? 谢谢你的时间…

UtcNow和现在是相同的日期时间吗? 他们知道他们不同吗?

如果我运行一个代码片段: bool areTheyTheSame = DateTime.UtcNow == DateTime.Now 我会得到什么? DateTime返回知道它的时区,以便我可以比较吗? 我的具体问题是我正在尝试构建类似缓存的API。 如果需要DateTime AbsoluteExpiration,我是否必须强制我的API用户知道是给我一个UTC时间还是基于时区的时间? [编辑]这个SO问题与我的问题也非常相关: Cache.Add绝对到期 – 是否基于UTC? [编辑]为了澄清未来的读者,DateTimeKind是不同的。 未定义的DateTimeKind通常是一个问题,例如,当您从数据库中取出一个时,就会得到这个问题。 在DateTime构造函数中设置DateTimeKind … [编辑] JonSkeet写了一篇可爱的博客文章,谴责这种行为并提供解决方案: http : //noda-time.blogspot.co.uk/2011/08/what-wrong-with-datetime-anyway.html

在WCF中不返回DateTime.Kind

当使用WCF处理DateTime对象时,返回的DateTime对象缺少Kind属性,即使我在返回它之前手动更改它也将始终为DateTimeKind.Unspecified ! 我是在WCF方面做到的: dateFrom = DateTime.SpecifyKind(dateFrom , DateTimeKind.Utc); 仍然,它作为DateTimeKind.Unspecified发送给客户端… 客户端是WinForm应用程序,服务器是在IIS中托管的WCF。 PS我知道DateTime.ToUniversalTime()方法,但这不是我需要的。

比较DateTimes与Unspecified和UTC种类

我有2个DateTime值: date1 < – {15-07-13 20:45:10},Kind =未指定 date2 < – {15-07-13 20:45:10},Kind = UTC 比较这两个日期时,两个日期是相等的。 if (DateTime.Compare(date1, date2)!=0) … 有人可以解释为什么吗? 对我来说有点奇怪:将date1(未指定种类)转换为UTC时,我清楚地看到日期不同: date1.ToUniversalTime() – > {15-07-13 18:45:10},Kind = UTC

如何从DateTime获取12小时的日期

当我得到DateTime.Hour属性时,我总是得到24小时的时间(因此下午6点会给我18个)。 我怎么得到“12小时”的时间,所以下午6点才给我6点。 我显然可以自己做检查,但我认为有一个内置的function。

当天<= 12时的DateTime问题

我已经环顾了很多,没有编写一大堆代码来操作字符串,我想问一下是否有人知道一种很好的排序方式: 我在单元格中有一堆日期字符串,例如: 2011年3月5日 27/05/2011 31/05/2011 2011年3月5日 09/05/2011 31/05/2011 等等 当我正在阅读任何可以将这一天解释为一个月的情况 – 即上面的条目1,4和5时 – 它将作为日期时间与日期和月份交换。 例如,03/05/2011将作为DateTime“05/03/2011 00:00:00”读入。其他人都已阅读并且很好地为我提供了一个简单的字符串“27/05/2011”。 我从Excel中获取此信息,使用 ((Excel.Range)worksheet.Cells[rowCount, 3]).Value.ToString() 如果我像我的其他行一样尝试Value2,它会将那些奇怪的日期读作“40607”之类的内容,但同样会再次读取其他日期。