Ho un DateTimePicker
in cui consento all'utente di selezionare il mese precedente all'anno corrente.Sottrai un mese da Datetime. Oggi
Il problema è che se la data è il 1 ° gennaio, non è possibile calcolare il mese di dicembre dell'anno scorso nel modo in cui lo sto facendo ora.
var today = DateTime.Today;
var lastmonth = new DateTime(today.Year, today.Month - 1, 1);
if (qs == "")
{
dateTimePicker1.MaxDate = lastmonth;
dateTimePicker1.Value = lastmonth;
}
else
{
DateTime dt = Convert.ToDateTime(qs);
dateTimePicker1.Value = dt;
dateTimePicker1.MaxDate = lastmonth;
}
Esiste un modo migliore di fare questo. diciamo che ho 3 pulsanti di filtro che supponiamo di ottenere dati dai precedenti 1, 6 e 9 mesi, sembra un po 'brutto (sono solo io o qualcun altro pensa lo stesso?) ad avere un mucchio di numeri negativi che vengono alimentati attraverso il Metodo AddMonths. e anche avere numeri magici nel codice? Grazie –