using System; using System.Globalization; namespace SharpCifs.Util.Sharpen { public class SimpleDateFormat : DateFormat { string _format; CultureInfo Culture { get; set; } bool Lenient { get; set; } public SimpleDateFormat() : this("g") { } public SimpleDateFormat(string format) : this(format, CultureInfo.CurrentCulture) { } public SimpleDateFormat(string format, CultureInfo c) { Culture = c; this._format = format.Replace("EEE", "ddd"); this._format = this._format.Replace("Z", "zzz"); SetTimeZone(TimeZoneInfo.Local); } public bool IsLenient() { return Lenient; } public void SetLenient(bool lenient) { Lenient = lenient; } public override DateTime Parse(string value) { if (IsLenient()) return DateTime.Parse(value); return DateTime.ParseExact(value, _format, Culture); } public override string Format(DateTime date) { date += GetTimeZone().BaseUtcOffset; return date.ToString(_format); } public string Format(long date) { return Extensions.MillisToDateTimeOffset(date, (int)GetTimeZone().BaseUtcOffset .TotalMinutes) .DateTime.ToString(_format); } } }