Added a timestamp value to the end of dates in the report output for easier parsing.

This commit is contained in:
Kenneth Skovhede
2017-11-08 22:18:25 +01:00
parent cec0fca522
commit 6255572c25
+29
View File
@@ -1189,6 +1189,30 @@ namespace Duplicati.Library.Utility
return Convert.FromBase64String(Base64UrlToBase64Plain(data));
}
/// <summary>
/// Converts a DateTime instance to a Unix timestamp
/// </summary>
/// <returns>The Unix timestamp.</returns>
/// <param name="input">The DateTime instance to convert.</param>
public static long ToUnixTimestamp(DateTime input)
{
var ticks = input.ToUniversalTime().Ticks;
ticks -= ticks % TimeSpan.TicksPerSecond;
input = new DateTime(ticks, DateTimeKind.Utc);
return (long)Math.Floor((input - EPOCH).TotalSeconds);
}
/// <summary>
/// Converts a Unix timestamp to a DateTime instance
/// </summary>
/// <returns>The DateTime instance represented by the timestamp.</returns>
/// <param name="input">The Unix timestamp to use.</param>
public static DateTime ToUnixTimestamp(long input)
{
return EPOCH.AddSeconds(input);
}
/// <summary>
/// Returns a value indicating if the given type should be treated as a primitive
/// </summary>
@@ -1216,7 +1240,12 @@ namespace Duplicati.Library.Utility
if (IsPrimitiveTypeForSerialization(item.GetType()))
{
if (item is DateTime)
{
writer.Write(((DateTime)item).ToLocalTime());
writer.Write(" (");
writer.Write(ToUnixTimestamp((DateTime)item));
writer.Write(")");
}
else
writer.Write(item);
return true;