有没有更好的方式来修剪一个DateTime到一个特定的precision? [英] Is there a better way to trim a DateTime to a specific precision?
本文介绍了有没有更好的方式来修剪一个DateTime到一个特定的precision?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
什么是修剪DateTime对象,以特定的precision最好的方法是什么?举例来说,如果我有一个DateTime与2008-09-29 9时41分43秒的值,但我只希望它是precision是到分钟,是有一个更好的办法做到这一点比这个?
私有静态的DateTime TrimDateToMinute(日期时间为准)
{
返回新的日期时间(
date.Year,
date.Month,
date.Day,
date.Hour,
date.Minute,
0);
}
我会真正想要的是让它变,这样我可以设置其precision到秒,分钟,小时,或一天。
解决方案
静态类节目
{
//使用扩展方法:
静态日期时间调整(此日期时间日期,长roundTicks)
{
返回新的日期时间(date.Ticks - date.Ticks%roundTicks);
}
//示例用法:
静态无效的主要(字串[] args)
{
Console.WriteLine(DateTime.Now);
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerDay));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerHour));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerMillisecond));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerMinute));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerSecond));
到Console.ReadLine();
}
}
What's the best way to trim a DateTime object to a specific precision? For instance, if I have a DateTime with a value of '2008-09-29 09:41:43' and but I only want it's precision to be to the minute, is there are a better way to do it than this?
private static DateTime TrimDateToMinute(DateTime date)
{
return new DateTime(
date.Year,
date.Month,
date.Day,
date.Hour,
date.Minute,
0);
}
What I would really want is to make it variable so that I could set its precision to the second, minute, hour, or day.
解决方案
static class Program
{
//using extension method:
static DateTime Trim(this DateTime date, long roundTicks)
{
return new DateTime(date.Ticks - date.Ticks % roundTicks);
}
//sample usage:
static void Main(string[] args)
{
Console.WriteLine(DateTime.Now);
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerDay));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerHour));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerMillisecond));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerMinute));
Console.WriteLine(DateTime.Now.Trim(TimeSpan.TicksPerSecond));
Console.ReadLine();
}
}
这篇关于有没有更好的方式来修剪一个DateTime到一个特定的precision?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文