You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Windows 10命令行获取当前波斯太阳历日期时间?

获取Windows命令行下的波斯太阳历日期

嘿,好问题!Windows的原生CMD命令行确实没有直接内置获取波斯太阳历(伊朗历)日期的工具,但我们可以借助PowerShell来实现——它是Windows 10及以上系统自带的,完全不需要额外安装任何软件,非常方便。

方法1:直接在PowerShell中获取

获取纯日期(格式:1396-11-28)

打开PowerShell,执行以下命令:

# 创建波斯历日历实例
$persianCalendar = New-Object System.Globalization.PersianCalendar
# 获取当前时间
$currentDate = Get-Date
# 格式化输出波斯历日期(四位年、两位月、两位日)
"{0:0000}-{1:00}-{2:00}" -f $persianCalendar.GetYear($currentDate), $persianCalendar.GetMonth($currentDate), $persianCalendar.GetDayOfMonth($currentDate)

执行后就会输出类似1396-11-28的波斯历日期。

获取日期+时间

如果需要同时显示当前时间(时间与本地公历时间一致,仅日期转换为波斯历),可以用这个命令:

$pc = New-Object System.Globalization.PersianCalendar
$now = Get-Date
"{0:0000}-{1:00}-{2:00} {3}" -f $pc.GetYear($now), $pc.GetMonth($now), $pc.GetDayOfMonth($now), $now.ToString("HH:mm:ss")

输出示例:1402-05-15 14:30:45

方法2:在CMD命令行中调用PowerShell获取

如果你习惯用CMD而不是PowerShell,可以通过powershell -Command参数直接调用PowerShell命令,把结果输出到CMD中:

获取纯日期

powershell -Command "$persianCal = New-Object System.Globalization.PersianCalendar; $now = Get-Date; "{0:0000}-{1:00}-{2:00}" -f $persianCal.GetYear($now), $persianCal.GetMonth($now), $persianCal.GetDayOfMonth($now)"

获取日期+时间

powershell -Command "$pc=New-Object System.Globalization.PersianCalendar;$n=Get-Date;"{0:0000}-{1:00}-{2:00} {3}" -f $pc.GetYear($n),$pc.GetMonth($n),$pc.GetDayOfMonth($n),$n.ToString("HH:mm:ss")"

进阶:创建快捷命令(CMD专属)

如果需要频繁使用,可以用doskey给这个命令创建一个别名,比如:

doskey persiandate=powershell -Command "$pc=New-Object System.Globalization.PersianCalendar;$n=Get-Date;"{0:0000}-{1:00}-{2:00}" -f $pc.GetYear($n),$pc.GetMonth($n),$pc.GetDayOfMonth($n)"

之后在CMD里直接输入persiandate就能快速获取波斯历日期啦!

内容的提问来源于stack exchange,提问作者Elham Azadfar

火山引擎 最新活动