要从dd / mm / yyyy转换为mm / dd / yyyy

时间:2009-04-24 07:28:25

标签: vb.net datetime

我使用了以下代码。

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/5/2009 14:00)我想   转换为格式为24/5/2009 2:00   PM.Can任何人都可以提供适当的代码吗?

4 个答案:

答案 0 :(得分:4)

假设您的原始日期以字符串开头,并且您希望它最终成为另一个字符串,您可以在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的单位数日,月和小时值。它还假设您希望它们都是结果的2位数值。

以下是有关该主题的MSDN文档:Custom Date and Time Format Strings

答案 1 :(得分:1)

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")

另见:

答案 2 :(得分:0)

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)

答案 3 :(得分:0)

使用此

   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();