Как ввести форматированную дату в текстовое поле? - PullRequest
0 голосов
/ 24 сентября 2019

Я не совсем понимаю, как вводить форматированную дату, время и валюту.Я хочу, чтобы пользователь вводил DoB как dd/mm/yyyy, но когда я использую тип данных DateTime в Visual Studio, он получает только формат yyyy/mm/dd.

Вот мой код: это DoB и свойство другогокласс employee.cs

 class employee
    {
        private DateTime myBOD;
public DateTime BOD
        {
            get
            {
                return myBOD;
            }
            set
            {
                myBOD = value;
            }
        }
}

Это основной form1.cs

vemployee.BOD = Convert.ToDateTime(bod.Text);
var today = DateTime.Today;
age.Text = Convert.ToString(today.Year-vemployee.BOD.Year);

1 Ответ

2 голосов
/ 24 сентября 2019

Ну, DateTime - это struct, он не имеет никакого формата, но такие свойства, как Year, Month, Day и т. Д., Используют DateTime.ParseExact, если вы хотите получить DateTime из string:

 vemployee.BOD = DateTime.ParseExact(
   bod.Text, 
  "dd'/'MM'/'yyyy", // Please, note that "mm" stands for minutes, not months
   CultureInfo.InvariantCulture);

И .ToString(format), когда вы хотите представить DateTime как string

 DateTime today = DateTime.Today;

 bod.Text = today.ToString("dd'/'MM'/'yyyy", CultureInfo.InvariantCulture);
...