/* string fecha_act = DateTime.Now.ToString("d/MM/yy"); */
date_act = "10-12-12"
string[] splitting = date_act.Split('-');
foreach (string split in splitting)
{
MessageBox.Show(split);
}
上面的代码显示了字符串中的日期。该字符串将分为三部分。 说,我需要将这三个部分保存在三个不同的字符串中。
string day_act;
string month_act;
string year_act;
我试过用计数器和开关来做,但它不起作用。 有什么建议吗?
答案 0 :(得分:7)
string day_act;
string month_act;
string year_act;
string[] separando = date_act.Split('-');
day_act = separando[0];
month_act = separando[1];
year_act = separando[2];
或者,更好的是,让自己成为一个真实的约会对象:
string date_act = "10-12-12";
var foo = DateTime.ParseExact(date_act, "MM-dd-yy", null);
然后,您可以查看foo.Day
或foo.Month
等属性。
答案 1 :(得分:3)
这不会有用吗?这很直截了当,我怀疑你已经尝试过了。
day_act = separando[0];
month_act = separando[1];
year_act = separando[2];
修改强>
所以你想要Split
的替代方法吗?以下是一些:
使用DateTime.Parse
方法的变体(如其他答案中所述)。
使用正则表达式。
var match = Regex.Match(date, @"(?<day>\d+)-(?<month>\d+)-(?<year>\d+)");
day_act = match.Groups["day"].Value;
month_act = match.Groups["month"].Value;
year_act = match.Groups["year"].Value;
答案 2 :(得分:0)
这两个答案都解决了我提出的问题,但为了最终解决我的问题,我选择了一个替代解决方案,并不意味着使用拆分。在这种情况下,是一个子字符串。
day_act = date_act.Substring(0,2);
month_act = date_act.Substring(3,2);
year_act = date_act.Substring(6,2);