正在分析日期字符串以获取年份
本文关键字:获取 取年份 字符串 日期 | 更新日期: 2023-09-27 18:24:14
我有一个字符串变量,它存储的日期类似于"05/11/2010"。
如何解析字符串以只获取年份?
所以我会有另一个年份变量,比如year = 2010
。
您可以使用DateTime.Parse方法将字符串解析为具有Year属性的DateTime值:
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
这应该对您有效。
string myDate = "05/11/2010";
DateTime date = Convert.ToDateTime(myDate);
int year = date.Year;
如果日期字符串格式是固定的(dd/MM/yyyy),我建议您使用DateTime.ParseExact方法。
代码:
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方法快一点,因为Parse方法尝试解析日期-时间字符串的几个表示形式。
您也可以使用Regex在字符串"05/11/2010"中获得年份
public string getYear(string str)
{
return (string)Regex.Match(str, @"'d{4}").Value;
}
var result = getYear("05/11/2010");
2010
我使用的dtb变体:
string Year = DateTime.Parse(DateTime.Now.ToString()).Year.ToString();