d70d81ebdf
OneDrive Backup
39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
namespace hassio_onedrive_backup
|
|
{
|
|
public class DateTimeHelper
|
|
{
|
|
public const string DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
|
|
private readonly TimeZoneInfo? _timeZoneInfo = null;
|
|
|
|
private DateTimeHelper(string timeZoneId)
|
|
{
|
|
try
|
|
{
|
|
_timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
ConsoleLogger.LogError($"Error finding timezone: {ex}. Falling back to UTC");
|
|
}
|
|
}
|
|
|
|
public static DateTimeHelper? Instance { get; private set; }
|
|
|
|
public static DateTimeHelper Initialize(string timeZoneId)
|
|
{
|
|
Instance = new DateTimeHelper(timeZoneId);
|
|
return Instance;
|
|
}
|
|
|
|
public DateTime Now
|
|
{
|
|
get
|
|
{
|
|
var now = DateTime.Now;
|
|
var ret = _timeZoneInfo != null ? TimeZoneInfo.ConvertTime(now, _timeZoneInfo) : now;
|
|
return ret;
|
|
}
|
|
}
|
|
}
|
|
}
|