我有一个我写的方法,从节点中提取日期:
strRemoveByDate = element.SelectSingleNode("Date_Removed").InnerText
给了我“2012-01-01”或任何情况。
现在我需要抓住这一年。我尝试使用子字符串,但它不起作用:
String strYear = strRemoveByDate.Substring(0,4);
我需要在这做什么?
编辑::向Skeet先生道歉。我不想变得粗鲁无礼。我感谢任何帮助。通过'它不工作'我的意思是:
我尝试从字符串中解析年份中的四位数字。什么都没发生。我进入我在VS中工作的页面,向var strYear添加一个quickwatch,并且它说'strYear在当前上下文中不存在'。什么都没有读到strYear。
编辑2:事实证明这里有一些奇怪的事情......我尝试了所有这些解决方案,没有工作(坚持......我会详细说明)。非常奇怪的行为。所以在我写的方法中,我把声明
String nonsenseString = "nonsense";
并且IDE甚至没有选择它。所以.....似乎我的整体问题是我甚至无法宣布一个字符串,无论我如何尝试......
我已关闭并重新打开页面,关闭IDE并重新启动它,然后关闭我的工作站并重新启动它。
无济于事。
答案 0 :(得分:2)
DateTime getyear = DateTime.Parse(strRemoveByDate);
String strYear =getyear.year.ToString()
答案 1 :(得分:2)
int year = DateTime.ParseExact("2012-01-01", "yyyy-MM-dd", CultureInfo.CurrentCulture).Year;
答案 2 :(得分:1)
你可以这样做:
String strYear = strRemoveByDate.Split('-')[0];
将第一部分拆分为-