相关疑难解决方法(0)

你能指定日期时间的XmlSerialization格式吗?

我需要将日期时间序列化/反序列化为yyyyMMdd格式的XML文件.我可以使用属性/解决方法吗?

c# xml serialization

51
推荐指数
2
解决办法
5万
查看次数

有没有更好的方法将DateTime修剪为特定的精度?

将DateTime对象修剪为特定精度的最佳方法是什么?例如,如果我的DateTime值为'2008-09-29 09:41:43',但我只想要精确到分钟,有没有更好的方法来做到这一点?

private static DateTime TrimDateToMinute(DateTime date)
{
    return new DateTime(
        date.Year, 
        date.Month, 
        date.Day, 
        date.Hour, 
        date.Minute, 
        0);
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的是让它变量,以便我可以将其精度设置为秒,分钟,小时或日.

.net c# datetime

49
推荐指数
3
解决办法
2万
查看次数

为什么datetime无法比较?

我的C#单元测试有以下声明:

Assert.AreEqual(logoutTime, log.First().Timestamp);
Run Code Online (Sandbox Code Playgroud)

为什么它失败了以下信息:

Assert.AreEqual failed. Expected:<4/28/2010 2:30:37 PM>. Actual:<4/28/2010 2:30:37 PM>.
Run Code Online (Sandbox Code Playgroud)

他们不一样吗?

更新:

如果您只关注第二个,请使用此选项:

Assert.AreEqual(logoutTime.ToString(), log.First().Timestamp.ToString());

c# unit-testing datetime-comparison

41
推荐指数
1
解决办法
2万
查看次数

存储在SQL Server中时,我的DateTime中的毫秒数会发生变化

我有一个像这样生成的日期时间:

DateTime myDateTime = DateTime.Now;
Run Code Online (Sandbox Code Playgroud)

然后,我将其存储在DateTime具有Entity Framework 的数据库(在类型列中)中.然后我用OData(WCF数据服务)检索它.

当它进入TimeOfDay值时:09:30:03.0196095

当它出现时,TimeOfDay值为:09:30:03.0200000

这样做的净效果使得Milliseconds在保存前被视为19,在重新加载后被视为20.

因此,当我稍后在我的代码中进行比较时,它会在应该相等的地方失败.

SQL Server的精度不如.NET吗?或者实体框架或OData搞砸了吗?

我将截断毫秒(我真的不需要它们).但我想知道为什么会这样.

.net c# sql-server

32
推荐指数
3
解决办法
2万
查看次数

有没有更好的方法在C#中将DateTime四舍五入到最接近的5秒?

我想将DateTime四舍五入到最接近的5秒.这是我目前正在做的方式,但我想知道是否有更好或更简洁的方式?

DateTime now = DateTime.Now;
int second = 0;

// round to nearest 5 second mark
if (now.Second % 5 > 2.5)
{
    // round up
    second = now.Second + (5 - (now.Second % 5));
}
else
{
    // round down
    second = now.Second - (now.Second % 5);
}

DateTime rounded = new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, second);
Run Code Online (Sandbox Code Playgroud)

请注意,我发现 2个前面的问题,但他们截断而不是的时间.

c# algorithm performance datetime

18
推荐指数
2
解决办法
2万
查看次数

9
推荐指数
2
解决办法
7354
查看次数

比较两个可以约会的日期

我有两个日期属性,它们与我从一个对象映射到另一个对象完全相同.如果我将它们比较如下,则返回false:

if(obj1.d1 == obj2.d1)
{
}
Run Code Online (Sandbox Code Playgroud)

他们俩都是{01/06/2011 15:44:32}.

我无法使用DateTime.Compare因为它们可以为空.比较可空日期的最佳方法是什么?

c# comparison datetime nullable

2
推荐指数
1
解决办法
3386
查看次数

DateTime.Compare未按预期工作

我以下列方式插入客户.

DateTime d = DateTime.Now;

foreach(Customer cus in CustomerList)
{
    cus.EntryDate = d;
}

SaveToDatbase(CustomerList);
Run Code Online (Sandbox Code Playgroud)

使用正确的输入日期成功保存日期,但是当我检索数据并将其与变量d进行比较时,它不匹配.

foreach(Customer cus in GetFromDatabase())
{
    Response.Write(DateTime.Compare(cus.EntryDate, d));
}
Run Code Online (Sandbox Code Playgroud)

输出为1而不是0.我检查了插入的数据,它与d变量值匹配,毫秒.日期存储在sql server数据库中.我意识到的一件事是,如果我为cus.EntryDate和d重置毫秒为0,则输出为0.我在这里做错了什么?

c# asp.net c#-4.0

2
推荐指数
1
解决办法
1244
查看次数

舍入dateTimePicker值

我计算之间的区别dateTimePicker2dateTimePicker1并将其转换为分钟,因为这,

durinmin = Convert.ToInt32((dateTimePicker2.Value - dateTimePicker1.Value).TotalMinutes);
Run Code Online (Sandbox Code Playgroud)

问题是,例如,如果差值是"00:17:40",则durinmin = 18.但是我想保留仅完成分钟的值,即,durinmin=17是我希望我的程序考虑的值.怎么弄?

c# datetimepicker datetime-format

0
推荐指数
1
解决办法
168
查看次数