我有一个字符串变量,存储日期,如“05/11/2010”。
如何解析字符串以仅获得年份?
所以我会有另一个年变量,如year = 2010
。
答案 0 :(得分:21)
您可以使用DateTime.Parse Method将字符串解析为具有DateTime的Year 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();