reworked GetTimeZoneValue to ust the date to determine daylight saving times
This commit is contained in:
parent
35a1ff111b
commit
2cf4018e33
2 changed files with 9 additions and 17 deletions
|
@ -6,9 +6,6 @@ namespace Lieb.Data
|
|||
{
|
||||
private readonly IJSRuntime _jsRuntime;
|
||||
|
||||
private TimeSpan? _userOffset;
|
||||
private int _offsetInMinutes;
|
||||
|
||||
public TimeZoneService(IJSRuntime jsRuntime)
|
||||
{
|
||||
_jsRuntime = jsRuntime;
|
||||
|
@ -16,24 +13,18 @@ namespace Lieb.Data
|
|||
|
||||
public async ValueTask<DateTimeOffset> GetLocalDateTime(DateTimeOffset dateTime)
|
||||
{
|
||||
if (_userOffset == null)
|
||||
{
|
||||
_offsetInMinutes = await _jsRuntime.InvokeAsync<int>("GetTimezoneValue");
|
||||
_userOffset = TimeSpan.FromMinutes(-_offsetInMinutes);
|
||||
}
|
||||
int offsetInMinutes = await _jsRuntime.InvokeAsync<int>("GetTimezoneValue", dateTime);
|
||||
TimeSpan userOffset = TimeSpan.FromMinutes(-offsetInMinutes);
|
||||
|
||||
return dateTime.ToOffset(_userOffset.Value);
|
||||
return dateTime.ToOffset(userOffset);
|
||||
}
|
||||
|
||||
public async ValueTask<DateTimeOffset> GetUTCDateTime(DateTimeOffset dateTime)
|
||||
{
|
||||
if (_userOffset == null)
|
||||
{
|
||||
_offsetInMinutes = await _jsRuntime.InvokeAsync<int>("GetTimezoneValue");
|
||||
_userOffset = TimeSpan.FromMinutes(-_offsetInMinutes);
|
||||
}
|
||||
int offsetInMinutes = await _jsRuntime.InvokeAsync<int>("GetTimezoneValue", dateTime);
|
||||
TimeSpan userOffset = TimeSpan.FromMinutes(-offsetInMinutes);
|
||||
|
||||
return new DateTimeOffset(dateTime.DateTime.AddMinutes(_offsetInMinutes), new TimeSpan(0));
|
||||
return new DateTimeOffset(dateTime.DateTime.AddMinutes(offsetInMinutes), new TimeSpan(0));
|
||||
}
|
||||
|
||||
public async ValueTask<string> GetUserTimeZone()
|
||||
|
|
|
@ -8,9 +8,10 @@
|
|||
@(await Html.RenderComponentAsync<App>(RenderMode.Server))
|
||||
<!--<component type="typeof(App)" render-mode="ServerPrerendered" />-->
|
||||
<script>
|
||||
function GetTimezoneValue() {
|
||||
function GetTimezoneValue(dateTime) {
|
||||
// Returns the time difference in minutes between UTC time and local time.
|
||||
return new Date().getTimezoneOffset();
|
||||
date = new Date(dateTime);
|
||||
return date.getTimezoneOffset();
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue