如何分割字符串以仅获取日期
本文关键字:获取 取日期 字符串 何分割 分割 | 更新日期: 2023-09-27 18:11:00
我已经得到了下面这样的字符串....
string a = backup-2011-10-12_17-16-51.zip
我如何分割上述字符串,以便只得到这一部分2011-10-12
对于我已经尝试了这个下面,但我不知道如何分割字符串确切像这样
2011-10-12
string[] getfiledate = a.Split(new[] { '.', '-','_' });
有谁能帮助如何分割一个字符串.. .....
如果字符串总是相同的长度,则使用
a.Substring(7,10)
在这里使用正则表达式会更好。
('d{4}-'d{2}-'d{2})
这是我个人最喜欢的:
DateTime dt = DateTime.ParseExact("backup-2011-10-12_17-16-51.ip", "backup-yyyy-dd-MM_HH-mm-ss.ip", null);
这避免了子字符串的计算,但是如果你注意到我不得不在你的例子中从zip中删除z,因为在时区计算中z是gmt偏移量…如果你能避免z,那么这就能很好地工作。
编辑一个更棒的答案
使用@和'转义z:
DateTime dt = DateTime.ParseExact("backup-2011-10-12_17-16-51.zip", @"backup-yyyy-dd-MM_HH-mm-ss.'zip", null);
如果你可以一直使用相同的格式,这将是可行的
string a = "backup-2011-10-12_17-16-51.zip";
var temp = a.Replace("backup-", String.Empty);
temp = temp.Substring(0, temp.IndexOf('_'));
非常快和脏
string a = "backup-2011-10-12_17-16-51.zip";
string g = a.Replace("backup-", string.Empty);
string k = g.Remove(g.IndexOf("_"));