字符串到日期 C#

WBOY
发布: 2024-09-03 15:17:26
原创
669 人浏览过

在 C# 中,可以使用 struct DateTime 提供的一些解析方法将日期和时间的字符串表示形式转换为其等效的 DateTime 对象。这些方法需要要转换的日期的字符串表示形式,除此之外,我们还可以指定特定于区域性的格式信息。

以下是方法:

  • DateTime.Parse()
  • DateTime.ParseExact()
  • DateTime.TryParse()
  • DateTime.TryParseExact()

每种解析方法的语法

下面给出的是每种解析方法的语法:

public static DateTimeParse(string str);
登录后复制

这里,Parse() 方法接受一个字符串参数,它表示要转换的日期和时间。它返回 DateTime 对象,相当于 str.

表示的日期和时间
public static DateTimeParseExact(string str, string strFormat, IFormatProviderformatProvider);
登录后复制

这里,三个参数传递给该方法,其中 str 是要转换的日期和时间的字符串表示形式,format 指定所需的 str 格式,formatProvider 提供 str 的区域性特定格式信息。它返回DateTime对象,相当于str.

表示的日期和时间
public static bool TryParse(string str, out DateTimeresult);
登录后复制

这里,str代表要转换的日期和时间,结果值将存储在变量result中。如果转换成功,该方法将返回 true。否则,将返回 false。

public static bool TryParseExact(string str, string[] strFormats, IFormatProviderformatProvider,
DateTimeStylesstyle, out DateTimeresult);
登录后复制

如果转换成功,该方法将返回true。否则,将返回 false。

如何在 C# 中将字符串转换为日期?

C# 中有多种方法可将字符串转换为日期。要转换的字符串必须是日期和时间的有效表示形式,并且不能为 null 或空。成功转换后,这些方法返回 DateTime 对象。

迄今为止解析字符串的方法如下:

  • DateTime.Parse(string);
    DateTime.Parse(string, IFormatProvider);
    DateTime.Parse(string, IFormatProvider, DateTimeStyles);

以上三个方法是Parse()方法的重载形式。成功转换后,它们都会返回 System.DateTime 对象。

示例:

CultureInfo provider = newCultureInfo("en-US");
DateTime date = DateTime.Parse("08/08/2020", provider,
DateTimeStyles.AdjustToUniversal);
登录后复制

在上面的语句中,我们首先创建了一个CultureInfo类的对象,它实现了IFormatProvider。 现在,此方法将使用提供的区域性特定格式信息并应用给定的 DateTimeStyles 值将输入字符串转换为等效的 DateTime 对象。成功转换后,生成的 DateTime 对象将存储在变量“date”中。

  • DateTime.ParseExact(string, string, IFormatProvider);
    DateTime.ParseExact(string, string, IFormatProvider, DateTimeStyles);
    DateTime.ParseExact(string, string[], IFormatProvider, DateTimeStyles);

以上三个方法是ParseExact()方法的重载形式。成功转换后,它们都会返回 System.DateTime 对象。

示例:

string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy",
"MM/dd/yyyyHH:mm:ss"};
CultureInfo provider = newCultureInfo("en-US");
DateTime date = DateTime.ParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal);
登录后复制

传递给此方法的日期的字符串表示形式应与字符串数组中包含的任何指定格式完全匹配。

  • DateTimeTryParse(string, out DateTime);
    DateTime.TryParse(string, IFormatProvider, DateTimeStyles, out DateTime);

该方法中的参数类型与我们之前看到的相同。此方法使用区域性特定的格式信息和传递给它的样式将输入字符串转换为其等效的 DateTime 对象,如果转换成功则返回 true;否则,返回 false。生成的 DateTime 值将存储在此方法的“out”参数中。

  • DateTime.TryParseExact(string, string[], IFormatProvider, DateTimeStyles, out DateTime);
    DateTime.TryParseExact(string, string, IFormatProvider, DateTimeStyles, out DateTime);

此方法使用提供的区域性特定格式信息和样式将输入字符串转换为日期。转换成功时该方法返回true;否则,返回 false。

C# 的字符串到日期示例

以下是示例。

代码:

using System;
usingSystem.Globalization;
publicclassProgram
{
publicstaticvoidMain()
{
DateTime date;
string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy",
"MM/dd/yyyyHH:mm:ss"};
CultureInfo provider = newCultureInfo("en-US");
try
{
//Parse()
date = DateTime.Parse("08/08/2020");
Console.WriteLine("\nParse() method: " + date);
//ParseExact()
date = DateTime.ParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal);
Console.WriteLine("\nParseExact() method: " + date);
}
catch (Exception ex)
{
Console.Write(ex.Message);
Console.ReadLine();
}
//TryParse()
if (DateTime.TryParse("08/08/2020", out date))
{
Console.WriteLine("\nTryParse() : " + date);
}
else
{
Console.WriteLine("Conversion failed");
}
//TryParseExact()
if (DateTime.TryParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal, out date))
{
Console.WriteLine("\nTryParseExact() : " + date);
}
else
{
Console.WriteLine("Conversion failed");
}
Console.ReadLine();
}
}
登录后复制

输出:

字符串到日期 C#

结论

在 C# 中,可以使用 DateTime 结构提供的解析方法将字符串转换为 DateTime 对象。除了这些方法之外,我们还可以使用 Convert 将字符串转换为日期。 To DateTime() 方法,该方法将日期的字符串表示形式作为输入并返回其等效的 DateTime 对象。

以上是字符串到日期 C#的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板