如何转换“;2014-07-23 06:00“;字符串到日期时间,单位为“;yyyy-MM-dd HH.MM.ss.ff

本文关键字:单位 时间 日期 ff MM HH yyyy-MM-dd ss 转换 何转换 2014-07-23 | 更新日期: 2023-09-27 18:29:47

我有一个值为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);
        }
    }
}

如何转换“;2014-07-23 06:00“;字符串到日期时间,单位为“;yyyy-MM-dd HH.MM.ss.ff

您需要使用其存在的格式对其进行解析,然后使用目标格式调用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)