برای تبدیل تاریخ مسیحی به شمسی توسط پاورشل میتوانید از اسکریپت زیر استفاده کنید :
#Persian date if ($args[0] -eq $null) { $mydt = [datetime]::Now } else { if ($args[0].gettype() -eq [datetime]) { $mydt = $args[0] } else { $mydt = [datetime]::Now } } $perdt = New-Object System.Globalization.PersianCalendar $perday = $perdt.getdayofmonth($mydt) $permonth = $perdt.getmonth($mydt) $peryear = $perdt.getyear($mydt) $per_day_of_week = $perdt.getdayofweek($mydt) switch ($permonth) { "1" {$permontxt = "Farvardin"} "2" {$permontxt = "Ordibehesht"} "3" {$permontxt = "Khordad"} "4" {$permontxt = "Tir"} "5" {$permontxt = "Mordad"} "6" {$permontxt = "Shahrivar"} "7" {$permontxt = "Mehr"} "8" {$permontxt = "Aban"} "9" {$permontxt = "Azar"} "10" {$permontxt = "Dey"} "11" {$permontxt = "Bahman"} "12" {$permontxt = "Esfand"} } switch ($per_day_of_week) { "Monday" { $perdaytxt = "Doshanbeh"} "Tuesday" { $perdaytxt = "Sehshanbeh'"} "Wednesday" { $perdaytxt = "Chaharshanbeh" } "Thursday" { $perdaytxt = "Panjshanbeh"} "Friday" {$perdaytxt = "Jomeh"} "Saturday" { $perdaytxt = "Shanbeh"} "Sunday" { $perdaytxt = "Yekshanbeh"} } $perdisplay = [string]$peryear + "/" + $permonth + "/" + [string]$perday $result = New-Object PSObject Add-Member -InputObject $result NoteProperty Day $perday Add-Member -InputObject $result NoteProperty Month $permontxt Add-Member -InputObject $result NoteProperty Year $peryear Add-Member -InputObject $result NoteProperty DayName $perdaytxt Add-Member -InputObject $result Noteproperty Date $perdisplay return $result
برای اطلاعات بیشتر در مورد تاریخ شمسی از لینک زیر استفاده کنید :
PersianCalendar Class