new DateTime(int year, int month, int day);
Frågan#1
Tjena!
Har tre DropDownLists:s som representerar år, månad och dag.
När användaren valt dessa formatteras dataumet såhär: 1950-1-1
Men då går det ju inte att köra t.ex: ToShortDateString() eller liknande, utan det jag måste göra är att konveretera det på något sätt. Vet nån hur jag kan gå tillväga?
Detta är min kod, den är nedladdad så jag skulle slippa göra det själv:
DateTime tnow = DateTime.Now;
ArrayList AlYear = new ArrayList();
int i;
for (i = 1920; i <= 2008; i++)
AlYear.Add(i);
ArrayList AlMonth = new ArrayList();
for (i = 1; i <= 12; i++)
AlMonth.Add(i);
if (!this.IsPostBack)
{
DropDownList1.DataSource = AlYear;
DropDownList1.DataBind();
DropDownList1.SelectedValue = "1950";
DropDownList2.DataSource = AlMonth;
DropDownList2.DataBind();
//DropDownList2.SelectedValue = tnow.Month.ToString();
year = Int32.Parse(DropDownList1.SelectedValue);
month = Int32.Parse(DropDownList2.SelectedValue);
BindDays(year, month);
//DropDownList3.SelectedValue = tnow.Day.ToString();
}
private bool CheckLeap(int year)
{
if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
return true;
else return false;
}
private void BindDays(int year, int month)
{
int i;
ArrayList AlDay = new ArrayList();
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
for (i = 1; i <= 31; i++)
AlDay.Add(i);
break;
case 2:
if (CheckLeap(year))
{
for (i = 1; i <= 29; i++)
AlDay.Add(i);
}
else
{
for (i = 1; i <= 28; i++)
AlDay.Add(i);
}
break;
case 4:
case 6:
case 9:
case 11:
for (i = 1; i <= 30; i++)
AlDay.Add(i);
break;
}
DropDownList3.DataSource = AlDay;
DropDownList3.DataBind();
}
//select year
public void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
year = Int32.Parse(DropDownList1.SelectedValue);
month = Int32.Parse(DropDownList2.SelectedValue);
BindDays(year, month);
}
//select month
public void DropDownList2_SelectedIndexChanged(object sender, System.EventArgs e)
{
year = Int32.Parse(DropDownList1.SelectedValue);
month = Int32.Parse(DropDownList2.SelectedValue);
BindDays(year, month);
}
Är det ens möjligt att få formatet som ett normalt datumformat? D.v.s. det som står i rubriken.