解析日期字符串以获取年份

时间:2012-02-12 04:30:38

标签: c# date

我有一个字符串变量,存储日期,如“05/11/2010”。

如何解析字符串以仅获得年份?

所以我会有另一个年变量,如year = 2010

5 个答案:

答案 0 :(得分:21)

您可以使用DateTime.Parse Method将字符串解析为具有DateTimeYear Property值:

var result = DateTime.Parse("05/11/2010").Year;
// result == 2010

根据操作系统的区域性设置,您可能需要提供CultureInfo

var result = DateTime.Parse("05/11/2010", new CultureInfo("en-US")).Year;
// result == 2010

答案 1 :(得分:10)

这应该适合你。

string myDate = "05/11/2010"; 
DateTime date = Convert.ToDateTime(myDate);
int year = date.Year;

答案 2 :(得分:4)

如果日期字符串格式是固定的(dd / MM / yyyy),我建议你使用DateTime.ParseExact Method

代码:

const string dateString = "12/02/2012";
CultureInfo provider = CultureInfo.InvariantCulture;
// Use the invariant culture for the provider parameter,
// because of custom format pattern.
DateTime dateTime = DateTime.ParseExact(dateString, "dd/MM/yyyy", provider);
Console.WriteLine(dateTime);

另外我认为它可能比DateTime.Parse Method快一点,因为Parse方法尝试解析日期时间字符串的几种表示。

答案 3 :(得分:3)

您还可以使用正则表达式在字符串" 05/11/2010"

中获取
int

答案 4 :(得分:1)

我使用的dtb的变体:

string Year = DateTime.Parse(DateTime.Now.ToString()).Year.ToString();