JulianCalendar.psm1
function ConvertTo-JulianCalendar { <# .SYNOPSIS Convert a Gregorian date to a Julian date. .DESCRIPTION This commandlet converts Gregorian dates to Julian dates. .PARAMETER GregorianDate The Gregorian date as System.DateTime to convert to a Julian date. .INPUTS Gregorian dates as System.DateTime to convert to Julian dates. .OUTPUTS System.DateTime. The Julian dates. .EXAMPLE PS> ConvertTo-JulianCalendar -GregorianDate (New-Object -TypeName 'System.DateTime' -ArgumentList 2021, 5, 7, 12, 0, 0, 0) Saturday, April 24, 2021 12:00:00 PM .EXAMPLE PS> $date = New-Object -TypeName 'System.DateTime' -ArgumentList 2000, 1, 1, 0, 0, 0, 0, 0 PS> $date | ConvertTo-JulianCalendar Sunday, December 19, 1999 12:00:00 AM #> [CmdletBinding(PositionalBinding)] [OutputType([System.DateTime])] param ( [Parameter(mandatory, valuefrompipeline)] [System.DateTime] $GregorianDate ) begin { $calendar = New-Object -TypeName 'System.Globalization.JulianCalendar' } process { New-Object -TypeName 'System.DateTime' -ArgumentList $calendar.GetYear($GregorianDate), $calendar.GetMonth($GregorianDate), $calendar.GetDayOfMonth($GregorianDate), $GregorianDate.Hour, $GregorianDate.Minute, $GregorianDate.Second, $GregorianDate.Millisecond } } function ConvertTo-GregorianCalendar { <# .SYNOPSIS Convert a Julian date to a Gregorian date. .DESCRIPTION This commandlet converts Julian dates to Gregorian dates. .PARAMETER GregorianDate The Julian date as System.DateTime to convert to a Gregorian date. .INPUTS Julian dates as System.DateTime to convert to Gregorian dates. .OUTPUTS System.DateTime. The gregorian dates. .EXAMPLE PS> ConvertTo-GregorianCalendar -JulianDate (New-Object -TypeName 'System.DateTime' -ArgumentList 2021, 4, 24, 12, 0, 0, 0) Friday, May 7, 2021 12:00:00 PM .EXAMPLE PS> $date = New-Object -TypeName 'System.DateTime' -ArgumentList 2000, 1, 1, 0, 0, 0, 0, 0 PS> $date | ConvertTo-GregorianCalendar Friday, January 14, 2000 12:00:00 AM #> [CmdletBinding(PositionalBinding)] [OutputType([System.DateTime])] param ( [Parameter(mandatory, valuefrompipeline)] [System.DateTime] $JulianDate ) begin { $calendar = New-Object -TypeName 'System.Globalization.JulianCalendar' } process { $calendar.ToDateTime($JulianDate.Year, $JulianDate.Month, $JulianDate.Day, $JulianDate.Hour, $JulianDate.Minute, $JulianDate.Second, $JulianDate.Millisecond) } } |