为了学习最佳实践,我有一个问题。在寻找一周的开始日期的过程中,我遇到了这个线程。 “http://stackoverflow.com/questions/38039/how-can-i-get-the-datetime-for-the-start-of-the-week”有没有更好的方法来解构日期?
问题:我需要一个格式4-3-2011:有没有更有效的方法来完成这一点,而不是我的代码黑客?
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);
int ddt = dt.Day;
int mdt = dt.Month;
int ydt = dt.Year;
string sddt = ddt.ToString();
string smdt = mdt.ToString();
string sydt = ydt.ToString();
string fdate = (smdt + "-" + sddt + "-" + sydt);
线程代码:作者讽刺
public static class DateTimeExtensions
{
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
{
int diff = dt.DayOfWeek - startOfWeek;
if (diff < 0)
{
diff += 7;
}
return dt.AddDays(-1 * diff).Date;
}
DateTime dt = DateTime.Now.StartOfWeek(DayOfWeek.Sunday);
谢谢你,我在那里学到了一些东西。 – JRB 2011-04-06 00:31:22
不客气。 – manji 2011-04-06 00:46:21