using System.Text.RegularExpressions;
public static void Main()
string illegal = "\"M\"\\a/ry/ h**ad:>> a\\/:*?\"| li*tt|le|| la\"mb** 10.?";
string expected = "_M_a_ry_ h_ad_ a_ li_tt_le_ la_mb._";
var valid = MakeValidFileName(illegal);
DateTime now = DateTime.Now;
DateTime past = now.AddDays(-2);
DateTime dtEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc);
DateTime dt = new DateTime(2020, 07, 13, 9, 00, 00);
TimeZoneInfo pZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
DateTime dtUtc = TimeZoneInfo.ConvertTimeToUtc(dt, pZone);
Console.WriteLine("UTC time: " + dtUtc);
Console.WriteLine(dtUtc > dtEpoch);
Console.WriteLine(1594815277540 - 1594656000000);
TimeSpan span = dtUtc - dtEpoch;
Console.WriteLine(span.TotalMilliseconds);
Console.WriteLine(dtEpoch.AddMilliseconds(1594656000000).ToUniversalTime());
private static string MakeValidFileName(string name)
var invalidFileNameChars = new string(Path.GetInvalidFileNameChars());
string invalidChars = Regex.Escape(invalidFileNameChars);
string invalidRegStr = string.Format(@"([{0}]*\.+$)|([{0}]+)", invalidChars);
return Regex.Replace(name, "[^a-zA-Z0-9 ]", "");