Преобразование времени AM / PM в стандартный формат времени чч: мм в C # - PullRequest
1 голос
/ 16 февраля 2011

В моей веб-форме ASP.NET у меня есть 3 поля - час, минута и я / вечер.Как я могу получить значения этих 3 полей в одну переменную, а затем преобразовать часы am / pm в стандартное 24-часовое время, например, 05:20 PM = 17:20.Это нужно сделать на C #.

Заранее спасибо за помощь.

Ответы [ 4 ]

4 голосов
/ 16 февраля 2011
var hour = int.Parse(ddlHour.SelectedValue);
var min = int.Parse(ddlMin.SelectedValue);
var ampm = ddlAmPm.SelectedValue;

hour = ampm == "AM" ? hour : (hour % 12) + 12; //convert 12-hour time to 24-hour

var dateTime = new DateTime(0,0,0, hour, min, 0);
var timeString = dateTime.ToString("HH:mm");
2 голосов
/ 16 февраля 2011

Вы говорите, что начинаете с отдельных значений часов, минут и утра / вечера?

    public string Get24HourTime(int hour, int minute, string ToD)
    {           
        int year = DateTime.Now.Year;
        int month = DateTime.Now.Month;
        int day = DateTime.Now.Day;
        if (ToD.ToUpper() == "PM") hour = (hour  % 12) + 12;

        return new DateTime(year, month, day, hour, minute, 0).ToString("HH:mm");
    }
1 голос
/ 16 февраля 2011
string hour = hourField.Text
string minute = minuteField.Text

string AMPM = ddl.SelectedItem.ToString();

//AMPM is either "AM" or "PM"
timeString = hour + ":" + minute + " " + AMPM

//the procued string in timeString is e.g. "10:45 PM"
DateTime time = DateTime.Parse(timeString);

Вы должны заметить, что 12:00 - полночь, и должно показывать 00:00. Тот факт, что 12:00 - это один час до 1:00, используя модуль по модулю, вы должны сделать это следующим образом:


if(hour == 12)hour = 0;
if(AMPM == "PM") hour = (hour % 12) + 12;
1 голос
/ 16 февраля 2011

Вы можете указать фиктивный год, месяц и день, если требуется только время.

DateTime time = new DateTime(year, month, day, hour, minute, second);
string time = time.ToString("HH:mm");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...