Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从字符串转换为系统日期时间格式?_C#_Datetime - Fatal编程技术网

C# 如何从字符串转换为系统日期时间格式?

C# 如何从字符串转换为系统日期时间格式?,c#,datetime,C#,Datetime,我需要将字符串datetime格式转换为datetime字段,该字段应为system datetime格式? 我尝试了Convert.ToDateTime、DateTime.Parse、DateTime.ParseExact,但它们都转换为dd-MM-yyyy-HH:MM:ss格式 我的字符串是yyyy-MM-dd HH:MM格式 我尝试了TryParseExact并指定了文化,但我不明白它是如何工作的。下面是我正在尝试的代码,我的item.CreationDate是yyyy-MM-dd HH:

我需要将字符串datetime格式转换为datetime字段,该字段应为system datetime格式? 我尝试了Convert.ToDateTime、DateTime.Parse、DateTime.ParseExact,但它们都转换为dd-MM-yyyy-HH:MM:ss格式

我的字符串是yyyy-MM-dd HH:MM格式

我尝试了TryParseExact并指定了文化,但我不明白它是如何工作的。下面是我正在尝试的代码,我的item.CreationDate是yyyy-MM-dd HH:MM格式


提前谢谢。

能这么简单吗?-yyyy-MM-dd HH:MM在您的示例中有5个y,而不是4。

当您将字符串转换为DateTime时,必须说明输入的格式。如果转换成功,DateTime对象将保存年、月、日等所有日期部分的数据。如果要再次将其作为日期查看,则必须说明希望以何种格式查看它们。使用它时,值得注意的是,如果转换失败,它会将值设置为

有多种方式可以再次显示日期。最常见的是将日期的自定义格式声明为字符串。另一种方法是使用

当您将其放入控制台应用程序时,结果如下所示:


对于一些标准格式的产品,您需要定义文化,因为与zh-CN等产品相比,en-US等产品的文化会有所不同。在我的例子中,我使用了“en GB”

DateTime对象没有格式。这是一个数字。您可以在需要时以特定的格式、特定的区域性格式或不变量区域性来呈现它。要使用ParseExact、TryParseExact,您需要提供一种或多种描述输入的格式。不要将演示文稿与实际数据混淆。发布您的项目并创建日期数据结构。没有它,没有人能回答你。isSuccess1是真是假?如果为true,则解析成功。现在,Thread.CurrentThread.CurrentCulture设置为什么?这对我们有好处吗?如果不是,则很有可能在检查DateTime对象值时,它是使用当前区域性定义格式显示的。但这正是DateTime.ToString生成的内容。@tuChargoyal1309-如果查看DateTime的源代码,您会发现这个字段-private ulong dateData;-这就是DateTime用来存储日期/时间的全部内容。没有格式。这只是一个乌龙。请提供一个。如果我不能复制粘贴到并运行它而不进行修改,那么它还不是一个好方法。此外,如果你要删除一些YYYY,考虑删除所有这些。
DateTime dateTime;  
bool isSuccess1 = DateTime.TryParseExact(item.CreationDate, "yyyyy-MM-dd HH:mm", CultureInfo.CurrentCulture, DateTimeStyles.None, out dateTime);
DateTime result = dateTime;
var creationDate = "2020-04-13 13:23";

DateTime.TryParseExact(creationDate, "yyyy-MM-dd HH:mm", CultureInfo.CurrentCulture, DateTimeStyles.None, out DateTime dateTime);

var myCulture = new CultureInfo("en-GB");

if(dateTime > DateTime.MinValue)
{
    Console.WriteLine("Your custom format date is: " + dateTime.ToString("yyyy-MM-dd HH:mm"));
    Console.WriteLine("Your standard format date is: " + dateTime.ToString("g", myCulture));
}