Значение
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)