Tag: datetime

处理DateTime DBNull

我已经在SO上看过很多很多这样的版本,但是它们似乎都不能满足我的需求。 我的数据来自供应商数据库,该数据库允许DateTime字段为null。 首先,我将数据拉入DataTable。 using (SqlCommand cmd = new SqlCommand(sb.ToString(), conn)) using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { da.Fill(dt); } 我正在将DataTable转换为List 进行处理。 var equipment = from i in dt.AsEnumerable() select new Equipment() { Id = i.Field(“ID”), BeginDate = i.Field(“BeginDate”), EndDate = i.Field(“EndDate”), EstimatedLife = i.Field(“EstimatedLife”) } 那么,在这个实例中如何检查DBNull? 我试着写一个方法。 public DateTime CheckDBNull(object dateTime) { if (dateTime == […]

将C#.NET DateTime.ticks转换为JavaScript中的天/小时/分钟

在我的系统中,我在Ticks中存储一个持续时间,这个持续时间被传递给我的客户端移动应用程序,并且从那里我想将ticks转换为人类可读的forms。 在我的情况下,天,小时和分钟。 我的客户端移动应用程序是使用Javascript编码的,所以这就是我用来将持续时间转换为天/小时/分钟的方法。

不支持Linq-to-EF DateTime.ToLocalTime

Linq到EF不支持DateTime.ToLocalTime 。 有什么选择? 我的想法已经不合时宜了。

Datetime.ParseExact“字符串未被识别为有效的DateTime”错误

为什么我无法解析这样的字符串: DateTime date = DateTime.ParseExact(“‎23.‎02.‎2016 08:59:35”, “dd.MM.yyyy HH:mm:ss”, CultureInfo.InvariantCulture); 这是一个例外 字符串未被识别为有效的DateTime。 我真的不明白。

按时间排序日期时间列表

我有一个日期时间列表,如果可能的话,我想使用lambda表达式对其进行排序。 我的列表: 6/19/1979 8:00:00 AM 5/5/1980 7:00:00 PM 10/20/1982 5:00:00 PM 1/4/1984 6:00:00 AM 输出应按以下顺序排列: 1/4/1984 6:00:00 AM 6/19/1979 8:00:00 AM 10/20/1982 5:00:00 PM 5/5/1980 7:00:00 PM

如何只保留DateTime的日期部分,同时保留时间部分?

我在代码中使用了很多DateTime。 我想将这些DateTimes更改为我的特定日期并保留时间。 1. “2012/02/02 06:00:00” => “2015/12/12 : 06:00:00” 2. “2013/02/02 12:00:00” => “2015/12/12 : 12:00:00” 我使用这种风格来改变,但它似乎不是好方法,我想问任何方法来实现这个任务。 DateTime newDateTime = new DateTime(2015,12,12,oldDateTime.Hour,oldDateTime.Minute,0);

DateTime.MinValue与C#中的新DateTime()

获取SQL DateTime Resharper建议在值为DBNull.Value时使用new DateTime() 。 我一直使用DateTime.MinValue 。 哪种方法适当? DateTime varData = sqlQueryResult[“Data”] is DateTime ? (DateTime) sqlQueryResult[“Data”] : new DateTime();

.NET可移植类库中.ToShortDateString发生了什么

我想知道为什么.NET可移植类库中没有.ToShortDateString 。 我有两个使用相同代码的项目(Silverlight和常规.NET类库),代码涉及在DateTime对象上调用.ToShortDateString() 。 为了重用相同的代码而不是在两个地方复制它,我创建了一个可移植的类库,因此它可以由Silverlight和.NET类库导入。 不幸的是,在使用类库时,它看起来并不像.ToShortDateString() 。 我可以在可移植类库方法中接受一个字符串参数,并从silverlight和类库项目中传递.ToShortDateString()值,但我想知道为什么这个方法对于可移植库来说不是本机的。 这是文化问题吗?

如何管理解析DateTime的空对象以与ADO.NET一起用作DBNULL

我有两个DateTime对象,BirthDate和HireDate。 它们被正确格式化为字符串,当我将它们传递给我的数据访问层时,需要将它们解析为DateTime对象。 DateTime hD = DateTime.Parse(hire); DateTime bD = DateTime.Parse(birth); //incase of a datestring being passed through dateStringPassed = “7/2/1969″; 但有时候,字符串hire和birth是空的或空的”” ,如果代码是这样运行的,我从解析空字符串得到一个FormatException错误。 如何管理空分析并允许DateTime(如果为空或null)被接受为DBNull.Value ? 我仍然无法管理用户没有通过DateTime字符串,然后解析崩溃了我的代码。 我的出生日期参数如下,如果为null则检查变量,然后使用DBNull.Value。

闰年上DateTime.AddYears的行为

在DateTime上使用AddYears方法时,有人可以解释.NET中闰年计算背后的数学或简单推理吗? 如果您参加2012年2月29日并增加一年,您将获得2013年2月28日,而不是2013年3月1日(一年后的前一天)。 如果您在2012年1月31日之前添加一年,则会在2013年1月31日(一年后的同一日期)到达。 我想大多数人会认为“一年从29.02.leapX是01.03.leapX + 1”。 例: // Testing with 29th Feb var now1 = DateTime.Parse(“2012-02-29 15:00:00”); var results1 = new DateTime[] { now1.AddYears(1), now1.AddYears(2), now1.AddYears(3), now1.AddYears(4) }; foreach(var dt in results1) { Console.WriteLine(dt.ToString(“s”)); } // Output: // 2013-02-28T15:00:00 // 2014-02-28T15:00:00 // 2015-02-28T15:00:00 // 2016-02-29T15:00:00 // Testing with 31st Jan var now2 = DateTime.Parse(“2012-01-31 13:00:00”); […]