【发布时间】:2011-07-30 08:59:34
【问题描述】:
为了学习最佳实践,我有一个问题。在寻找一周开始日期的方法时,我遇到了这个线程。 “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);
【问题讨论】: