繁体   English   中英

如何将“ 2014-07-23 06:00”字符串转换为“ yyyy-MM-dd-HH.mm.ss.ffffff”格式的日期时间

[英]How to convert “2014-07-23 06:00” string to date time in “yyyy-MM-dd-HH.mm.ss.ffffff” format

我有值2014-07-23 06:00字符串。 我需要将此值转换为yyyy-MM-dd-HH.mm.ss.ffffff格式的DateTime。 无需转换为字符串,需要显示在yyyy-MM-dd-HH.mm.ss.ffffff

但是我越来越错误了。 错误- string was not recognized as a valid datetime

以下是我的代码。 谁能帮我解决这个问题。

using System;
using System.Globalization;

public class Example
{
    public static void Main()
    {
        string format = "yyyy-MM-dd-HH.mm.ss.ffffff" ;
        DateTime result;
        const String Date = "2014-07-23 06:00"; ;

        try
        {
            result = DateTime.ParseExact(Date, format,
                CultureInfo.InvariantCulture);
            Console.WriteLine("{0} converts to {1}.", format, result.ToString());
        }
        catch (FormatException)
        {
            Console.WriteLine("{0} is not in the correct format.", format);
        }
    }
}

您需要使用其存在的格式来解析它,然后使用目标格式调用ToString 另外,您不希望使用try-catch尤其是当有TryX方法可用时:

var input = "2014-07-23 06:00";

var inputFormat = "yyyy-MM-dd HH:mm";    
var outputFormat = "yyyy-MM-dd-HH.mm.ss.ffffff";

DateTime dateTime;
if (DateTime.TryParseExact(
        input, 
        inputFormat, 
        null, 
        System.Globalization.DateTimeStyles.None, 
        out dateTime))
{
    Console.Write(
        "{0} converts to {1}", 
        inputFormat, 
        dateTime.ToString(outputFormat));
}
else
{
    Console.Write("{0} is not the correct format", inputFormat);
}

尝试这个:

string format = "yyyy-MM-dd-HH.mm.ss.ffffff";
            DateTime result;
            const String Date = "2014-07-23 06:00"; ;

            try
            {

                DateTime datDateStarted;
                DateTime.TryParseExact(Date, new string[] { "yyyy-MM-dd HH:ss" }, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out datDateStarted);
                Console.WriteLine(datDateStarted);
            }
            catch (FormatException)
            {
                Console.WriteLine("{0} is not in the correct format.", format);
            }

VB.NET码:

    Dim format As String = "yyyy-MM-dd-HH.mm.ss.ffffff"
    Dim resultString As String = String.Empty
    Dim inputString As String = "2014-07-23 06:00"

    resultString = DateTime.ParseExact(inputString, "yyyy-MM-dd HH:mm", System.Globalization.CultureInfo.InvariantCulture).ToString(format)

查看此答案,我认为您可以使用以下代码行:

DateTime myDate = DateTime.ParseExact("2009-05-08 14:40:52,531", "yyyy-MM-dd HH:mm:ss,fff",
                                       System.Globalization.CultureInfo.InvariantCulture)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM