php 时间转时辰,Powershell小技巧之获取当前的时间并转换为时辰

这篇博客介绍了如何利用PowerShell脚本获取当前的中国时辰,如子时、午时等。通过定义一个函数Get-ChinaTimeAlias,根据当前时间的小时数来计算对应的时辰,并展示了一个完整的示例,包括获取当前时辰和指定小时数的时辰。此外,还提供了打印所有时辰及其对应时间段的代码,方便查看每个时辰的时间范围。
摘要由CSDN通过智能技术生成

午时三刻已到,行刑,刀下留人,现在到底是不是午时,能否让PowerShell告诉我呢?

好的, 没问题。从晚上23点到凌晨2点之间属于子时,每两个小时一个时辰,依次为“子丑寅卯辰巳午未申酉戌亥”。

函数获取当前时辰

用PowerShell脚本实现:

function Get-ChinaTimeAlias

{

param(

[ValidateRange(0,23)]

[int]$Hour = (get-date).Hour

)

$timeAliasArray='子丑寅卯辰巳午未申酉戌亥'

[int]$index=0

if($hour -eq 22){ $index=11 }

else{

$index=[math]::Floor( ( $hour+1 ) % 23 / 2 )

}

return $timeAliasArray[ $index ] + "时"

}

获取当前的时辰

PS> Get-Date

2014年9月17日 23:17:58

PS> Get-ChinaTimeAlias

子时

获取指定小时数对应的时辰

PS> Get-ChinaTimeAlias 12

午时

打印所有的时辰和对应的时间段

输入

$timeArray=@(23)+0..22

for($i=0;$i -lt $timeArray.Length; $i=$i+2)

{

$startHour = $timeArray[$i].ToString().PadLeft(2,'0')

$endHour = $timeArray[$i+1].ToString().PadLeft(2,'0')

$timeAlias = Get-ChinaTimeAlias $timeArray[$i]

[pscustomobject]@{

时辰 = $timeAlias;

时间段 = ('{0}:00-{1}:59' -f $startHour,$endHour)

}

}

输出

时辰 时间段

-- ---

子时 23:00-00:59

丑时 01:00-02:59

寅时 03:00-04:59

卯时 05:00-06:59

辰时 07:00-08:59

巳时 09:00-10:59

午时 11:00-12:59

未时 13:00-14:59

申时 15:00-16:59

酉时 17:00-18:59

戌时 19:00-20:59

亥时 21:00-22:59

总结

字符串本身就是字符数组,没必要把子丑寅卯等单独保存成数组。

用求模和22特殊处理有效规避 对每一个时辰单独条件判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值