Мне нравится ответ V4V, но я пишу его так:
DateTime dt = new DateTime(2011,12,2);
DateTime firstDayNextMonth = dt.AddMonths(1).AddDays(-dt.Day+1);
Например, я мог бы вычислять будущее время, и этот код делает это, не выделяя часть времени.
В наиболее проницательном комментарии hvd этот код должен быть:
DateTime dt = new DateTime(2011,12,2);
DateTime firstDayNextMonth = dt.AddDays(-dt.Day+1).AddMonths(1);