Преобразовать из дд / мм / гггг в мм / дд / гггг - PullRequest
1 голос
/ 24 апреля 2009

Я использовал следующий код.

string result = DateTime.ParseExact("24/5/2009 3:40:00 AM",
                                    "d/M/yyyy h:mm",
                                     CultureInfo.InvariantCulture)
                        .ToString("M/d/yyyy h:mm");

В моем текстовом поле время после 12'0 часов ( например: 24.05.2009 14:00) я хочу преобразовать в формат 24.05.2009 2:00 PM. Кто-нибудь может дать соответствующий код?

Ответы [ 4 ]

4 голосов
/ 24 апреля 2009

Если исходная дата начинается как строка и вы хотите, чтобы она заканчивалась как другая строка, вы можете сделать что-то подобное в C #:

string from = "24/5/2009 3:40:00 AM";
DateTime dt = DateTime.ParseExact(from, "d/M/yyyy h:mm:ss tt", , System.Globalization.CultureInfo.InvariantCulture);
string to = dt.ToString("MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);

* Редактировать: Исправлено форматирование строк. Предполагается, что ваши исходные строки имеют только однозначные значения дня, месяца и часа, если каждое из них меньше 10. Также предполагается, что вы хотите, чтобы все они были двухзначными значениями для результата.

Вот документация MSDN по теме: Пользовательские строки формата даты и времени

1 голос
/ 24 апреля 2009
Dim result As String = DateTime.ParseExact("24/5/2009 3:40:00 AM",
                                    "d/M/yyyy h:mm:ss tt",
                                     CultureInfo.InvariantCulture)
                               .ToString("M/d/yyyy h:mm:ss tt")

Смотри также:

0 голосов
/ 19 декабря 2013

Используйте это

   sql = "INSERT INTO emp(ID, firstname, lastname, DOB) VALUES(Null, '" & txtFirstName.Text.Trim & "','" & txtLastName.Text.Trim & "', '" & dpDOB.Value.Date.ToString("yyyy-MM-dd") & "');"

    mMySQLConnection.Open();
    comm = New MySqlCommand(sql, mMySQLConnection);

    comm.CommandType = CommandType.Text;
    comm.ExecuteNonQuery();
    mMySQLConnection.Close();
0 голосов
/ 24 апреля 2009
Значение

A DateTime вообще не имеет формата, поэтому, если источником является значение даты и времени, на самом деле это не преобразование, а просто вопрос форматирования вывода.

Вы можете использовать пользовательскую строку "M'/'d'/'yyyy h':'mm':'ss tt", чтобы получить именно этот формат. (В вашем вопросе упоминаются два разных формата, поэтому я предполагаю, что это тот, который представлен примерами данных, который вы хотите; тот, у которого есть секунды.)

Пример:

Dim result As String = source.ToString("M'/'d'/'yyyy h':'mm':'ss tt")

Если источником является строка, так что вам нужно преобразование, вы можете либо использовать строковые операции, чтобы разделить строку на компоненты и переставить их, либо вы можете разобрать строку в значение DateTime и переформатировать это в новую строку.

Пример:

Dim source As String = "24/5/2009 3:40:00 AM"
Dim d As DateTime = DateTime.ParseExact(source, "d'/'M'/'yyyy h':'mm':'ss tt", CultureInfo.InvariantCulture)
Dim result As String = d.ToString("M'/'d'/'yyyy h':'mm':'ss tt")

Или:

Dim source As String = "24/5/2009 3:40:00 AM"
Dim d As String() = source.Split("/".ToCharArray(), 3)
string result = d(1) + "/" + d(0) + "/" + d(2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...