public virtual void Test002_NewIdent() { PersonIdent p = new PersonIdent("A U Thor", "*****@*****.**", Sharpen.Extensions.CreateDate (1142878501000L), Sharpen.Extensions.GetTimeZone("GMT+0230")); NUnit.Framework.Assert.AreEqual("A U Thor", p.GetName()); NUnit.Framework.Assert.AreEqual("*****@*****.**", p.GetEmailAddress()); NUnit.Framework.Assert.AreEqual(1142878501000L, p.GetWhen().GetTime()); NUnit.Framework.Assert.AreEqual("A U Thor <*****@*****.**> 1142878501 +0230", p.ToExternalString()); }
public virtual void Test001_NewIdent() { var timeZoneId = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? "Eastern Standard Time" : "EST"; PersonIdent p = new PersonIdent("A U Thor", "*****@*****.**", Sharpen.Extensions.CreateDate (1142878501000L), Sharpen.Extensions.GetTimeZone(timeZoneId)); NUnit.Framework.Assert.AreEqual("A U Thor", p.GetName()); NUnit.Framework.Assert.AreEqual("*****@*****.**", p.GetEmailAddress()); NUnit.Framework.Assert.AreEqual(1142878501000L, p.GetWhen().GetTime()); NUnit.Framework.Assert.AreEqual("A U Thor <*****@*****.**> 1142878501 -0500", p.ToExternalString()); }
private string Iso(PersonIdent id) { SimpleDateFormat fmt; fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); fmt.SetTimeZone(id.GetTimeZone()); return fmt.Format(id.GetWhen()); }
/// <summary> /// Format committer, author or tagger ident according to this formatter's /// specification. /// </summary> /// <remarks> /// Format committer, author or tagger ident according to this formatter's /// specification. /// </remarks> /// <param name="ident"></param> /// <returns>formatted version of date, time and time zone</returns> public virtual string FormatDate(PersonIdent ident) { switch (format) { case GitDateFormatter.Format.RAW: { int offset = ident.GetTimeZoneOffset(); string sign = offset < 0 ? "-" : "+"; int offset2; if (offset < 0) { offset2 = -offset; } else { offset2 = offset; } int hours = offset2 / 60; int minutes = offset2 % 60; return string.Format("%d %s%02d%02d", ident.GetWhen().GetTime() / 1000, sign, hours , minutes); } case GitDateFormatter.Format.RELATIVE: { return RelativeDateFormatter.Format(ident.GetWhen()); } case GitDateFormatter.Format.LOCALELOCAL: case GitDateFormatter.Format.LOCAL: { dateTimeInstance.SetTimeZone(SystemReader.GetInstance().GetTimeZone()); return dateTimeInstance.Format(ident.GetWhen()); } case GitDateFormatter.Format.LOCALE: { TimeZoneInfo tz = ident.GetTimeZone(); if (tz == null) { tz = SystemReader.GetInstance().GetTimeZone(); } dateTimeInstance.SetTimeZone(tz); dateTimeInstance2.SetTimeZone(tz); return dateTimeInstance.Format(ident.GetWhen()) + " " + dateTimeInstance2.Format( ident.GetWhen()); } default: { tz = ident.GetTimeZone(); if (tz == null) { tz = SystemReader.GetInstance().GetTimeZone(); } dateTimeInstance.SetTimeZone(ident.GetTimeZone()); return dateTimeInstance.Format(ident.GetWhen()); break; } } }