---
title: "Gör om 1950-1-1 till 1950-01-01"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/175353-gör-om-1950-1-1-till-1950-01-01"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "PBF"
published: "2008-11-17T10:07:45.000Z"
updated: "2008-11-17T11:41:20.000Z"
replies: 3
views: 322
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/175353-gör-om-1950-1-1-till-1950-01-01"
---

# Gör om 1950-1-1 till 1950-01-01

## #1 — PBF, 2008-11-17T10:07Z

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.

Permalänk: https://www.webforum.nu/p/175353

## #2 — Nickemannen, 2008-11-17T10:15Z

```
new DateTime(int year, int month, int day);
```

Permalänk: https://www.webforum.nu/p/2153487

## #3 — PBF, 2008-11-17T10:26Z

Aha. Vart lägger jag denna raden? Här eller:

new DateTime (DropDownList1.SelectedValue, DropDownList2.SelectedValue, DropDownList3.SelectedValue);

Permalänk: https://www.webforum.nu/p/2153488

## #4 — PBF, 2008-11-17T11:41Z

> **Nickemannen skrev:**
>
> ```
> new DateTime(int year, int month, int day);
> ```

Tack Nicke, det är nu löst. Eminent.

Permalänk: https://www.webforum.nu/p/2153500

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/175353-gör-om-1950-1-1-till-1950-01-01
