我无法弄清楚如何将按照以下方式返回的录制时间转换为日期时间。我的代码是:
Shell shell = new Shell();
Folder folder = shell.NameSpace("D:\Recorded Tv");
string recordingTime = folder.GetDetailsOf(WTVfile, 260);
string[] formats = { @"dd\/MM\/yyyy", @"d\/MM\/yyyy h:mm tt", @"d\/MM\/yyyy" };
DateTime recordingDateTime = DateTime.Now;
DateTime.TryParseExact(recordingTime, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out recordingDateTime);
问题在于,对于所有密集目的,recordingTime中的字符串值看起来很好,在上面的例子中,“07/03/2014 7:30 PM”但它显然没有被归还,因为我是期待在上面的代码之后,recordingDateTime是"01/01/1000 12:00:00 AM"
如果我将recordingTime中的值复制到剪贴板并将其粘贴到代码窗格中并将其包裹在兔子耳中并转到保存,则会给我一个unicode警告。
我的问题是如何解析录音时间字符串在同一文化中?正如TryParseExact方法调用所期望的那样?
我希望更清楚:)
感谢
马特
答案 0 :(得分:0)
通过提供的正则表达式here剥离不可打印的字符为我解决了这个问题:
val = Regex.Replace(val, @"[^\u0000-\u007F]", string.Empty);