Codeunit 3003 DotNet_DateTime, source in 29
Source29
src/Layers/W1/BaseApp/Modules/System/DotNetWrappers/DotNetDateTime.Codeunit.al143 lines, Copyright (c) Microsoft Corporation. MIT
namespace System.DateTime;
using System;
using System.Globalization;
codeunit 3003 DotNet_DateTime
{
InherentEntitlements = X;
InherentPermissions = X;
trigger OnRun()
begin
end;
var
DotNetDateTime: DotNet DateTime;
procedure CreateUTC(Year: Integer; Month: Integer; Day: Integer; Hour: Integer; Minute: Integer; Second: Integer)
var
DotNet_DateTimeKind: DotNet DateTimeKind;
begin
DotNet_DateTimeKind := DotNet_DateTimeKind.Utc;
DotNetDateTime := DotNetDateTime.DateTime(Year, Month, Day, Hour, Minute, Second, DotNet_DateTimeKind);
end;
procedure TryParse(DateTimeText: Text; DotNet_CultureInfo: Codeunit DotNet_CultureInfo; DotNet_DateTimeStyles: Codeunit DotNet_DateTimeStyles) Result: Boolean
var
DotNetCultureInfo: DotNet CultureInfo;
DotNetDateTimeStyles: DotNet DateTimeStyles;
begin
DateTime(0);
DotNet_CultureInfo.GetCultureInfo(DotNetCultureInfo);
DotNet_DateTimeStyles.GetDateTimeStyles(DotNetDateTimeStyles);
if not TryParse_Impl(Result, DateTimeText, DotNetCultureInfo, DotNetDateTimeStyles) then
Result := false;
end;
[TryFunction]
local procedure TryParse_Impl(var Result: Boolean; DateTimeText: Text; var DotNetCultureInfo: DotNet CultureInfo; var DotNetDateTimeStyles: DotNet DateTimeStyles)
begin
Result := DotNetDateTime.TryParse(DateTimeText, DotNetCultureInfo, DotNetDateTimeStyles, DotNetDateTime);
end;
procedure TryParseExact(DateTimeText: Text; Format: Text; DotNet_CultureInfo: Codeunit DotNet_CultureInfo; DotNet_DateTimeStyles: Codeunit DotNet_DateTimeStyles) Result: Boolean
var
DotNetCultureInfo: DotNet CultureInfo;
DotNetDateTimeStyles: DotNet DateTimeStyles;
begin
DateTime(0);
DotNet_CultureInfo.GetCultureInfo(DotNetCultureInfo);
DotNet_DateTimeStyles.GetDateTimeStyles(DotNetDateTimeStyles);
if not TryParseExact_Impl(Result, DateTimeText, Format, DotNetCultureInfo, DotNetDateTimeStyles) then
Result := false;
end;
[TryFunction]
local procedure TryParseExact_Impl(var Result: Boolean; DateTimeText: Text; Format: Text; var DotNetCultureInfo: DotNet CultureInfo; var DotNetDateTimeStyles: DotNet DateTimeStyles)
begin
Result := DotNetDateTime.TryParseExact(DateTimeText, Format, DotNetCultureInfo, DotNetDateTimeStyles, DotNetDateTime);
end;
procedure "DateTime"(IntegerDateTime: Integer)
begin
DotNetDateTime := DotNetDateTime.DateTime(IntegerDateTime)
end;
procedure "DateTime"(Year: Integer; Month: Integer; Day: Integer)
begin
DotNetDateTime := DotNetDateTime.DateTime(Year, Month, Day)
end;
procedure Day(): Integer
begin
exit(DotNetDateTime.Day)
end;
procedure Month(): Integer
begin
exit(DotNetDateTime.Month)
end;
procedure Year(): Integer
begin
exit(DotNetDateTime.Year)
end;
procedure Hour(): Integer
begin
exit(DotNetDateTime.Hour)
end;
procedure Minute(): Integer
begin
exit(DotNetDateTime.Minute)
end;
procedure Second(): Integer
begin
exit(DotNetDateTime.Second)
end;
procedure Millisecond(): Integer
begin
exit(DotNetDateTime.Millisecond)
end;
procedure IsDaylightSavingTim(): Boolean;
begin
exit(DotNetDateTime.IsDaylightSavingTime());
end;
procedure ToString(DotNet_DateTimeFormatInfo: Codeunit DotNet_DateTimeFormatInfo): Text
begin
exit(ToString('d', DotNet_DateTimeFormatInfo))
end;
procedure ToString(Format: Text; DotNet_DateTimeFormatInfo: Codeunit DotNet_DateTimeFormatInfo): Text
var
DotNetDateTimeFormatInfo: DotNet DateTimeFormatInfo;
begin
DotNet_DateTimeFormatInfo.GetDateTimeFormatInfo(DotNetDateTimeFormatInfo);
exit(DotNetDateTime.ToString(Format, DotNetDateTimeFormatInfo))
end;
procedure ToDateTime(): DateTime
begin
exit(DotNetDateTime);
end;
[Scope('OnPrem')]
procedure GetDateTime(var DotNetDateTime2: DotNet DateTime)
begin
DotNetDateTime2 := DotNetDateTime
end;
[Scope('OnPrem')]
procedure SetDateTime(DotNetDateTime2: DotNet DateTime)
begin
DotNetDateTime := DotNetDateTime2
end;
}