如何将字符串转换为日期时间格式c#

时间:2017-11-06 15:11:01

标签: c# datetime

我正在尝试将字符串201702070001转换为DateTime格式,如2017-02-07 00:01

为此,我尝试如下。我也按照教程http://www.csharp-examples.net/string-format-datetime/进行了操作。但无法解决问题。

string dateTime = "201702070001";
IFormatProvider culture = new System.Globalization.CultureInfo("en-US", true);
DateTime dt2 = DateTime.Parse(dateTime, culture, System.Globalization.DateTimeStyles.AssumeLocal);

2 个答案:

答案 0 :(得分:2)

您必须使用正确的格式进行转换。像这样:

def doIt():
    label.configure(text="text\na\n\n\n This is very long This is very long This is very long \n\n\nThis is very long This is very long")

答案 1 :(得分:1)

您应首先将字符串转换为DateTime对象,然后使用自定义日期格式字符串根据您的需要打印DateTime

以下是一个例子

var dateStr = "201702070001";
DateTime dt = DateTime.ParseExact(dateStr, "yyyyMMddHHmm", null);
Console.WriteLine(dt.ToString("yyyy-MM-dd HH:mm"));

我使用的是默认FormatProvider。根据计算机上的区域设置,它可能适用于您,也可能不适用于您

您提供了2个示例:20170207000120170302254。它们彼此不一致。第一个适合yyyyMMddHHmm但另一个不适合CREATE TABLE `person` ( `id` INT(11) NOT NULL, `last_modified` TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), `birth_date` DATE NULL DEFAULT NULL, PRIMARY KEY (`id`), CONSTRAINT `FK_PERSON_person_id` FOREIGN KEY (`id`) REFERENCES `person_id` (`id`) ) COLLATE='utf8mb4_bin' ENGINE=InnoDB; 。您必须找到所需的正确格式字符串。您可以从Custom Date and Time Format Strings

引用正确的格式说明符