51
1
using System;using System.Globalization; using System.Text.RegularExpressions;
2
3
public class Program
4
{
5
public static void Main()
6
{
7
//Unix Stat CMD CANNOT BE FORMALIZED USING DATETIME and.or DATETIMEOFFSET FORMATS in .NET
8
// FFFFFFFFF not accepted!
9
10
string dateString = "2010-11-29 17:56:22.000000000 -0800";
11
DateTimeOffset unixstatdt = new DateTimeOffset();
12
// 123456789
13
if (DateTimeOffset.TryParseExact(dateString, "yyyy-MM-dd HH:mm:ss.FFFFFFFFF zzz", CultureInfo.InvariantCulture, DateTimeStyles.None, out unixstatdt))
14
{
15
Console.WriteLine("Worked parsed Unix stat datetime with time zone\n {0}", unixstatdt.ToString ("o"));
16
}
17
else
18
{
19
Console.WriteLine("Failed to parsed Unix stat datetime");
20
}
21
22
//SOLUTION
23
//WE MUST TRUNCATE THE VALUE, CRUDE BUT IT WORKS down to 7 characters from 9
24
string LinuxStatCMDpattern = @"(\d{4}-\d{2}-\d{2})\s(\d{2}:\d{2}:\d{2}\.)(\d{7})\d{2}\s ([\+-]\d{4})";
Cached Result