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

所属分类: 脚本专栏 / PowerShell 阅读数: 510
收藏 0 赞 0 分享

午时三刻已到,行刑,刀下留人,现在到底是不是午时,能否让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特殊处理有效规避 对每一个时辰单独条件判断。

更多精彩内容其他人还在看

PowerShell隐藏不显示窗口的多种方法

这篇文章主要介绍了PowerShell隐藏不显示窗口的多种方法,本文讲解了启动PowerShell时隐藏自己的窗口、在PowerShell启动其它进程时隐藏窗口、使用PowerShell隐藏其它进程的窗口三种方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell启用winrm失败:拒绝访问 0x80070005 -2147024891

这篇文章主要介绍了PowerShell启用winrm失败:拒绝访问 0x80070005 -2147024891,本文给出了详细的排查步骤和解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell目录文件夹管理权限的继承和指定方法

这篇文章主要介绍了Powershell目录文件夹管理权限的继承和指定方法,本文给出了创建文件夹、获取当前权限、添加新的权限、添加管理员权限等,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell查看本机文件关联程序和默认打开程序的方法

这篇文章主要介绍了PowerShell查看本机文件关联程序和默认打开程序的方法,本文给出了查看方法,同时给出了一份读取结果,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell脚本反引号用法实例:随时随地给代码换行

这篇文章主要介绍了PowerShell脚本反引号用法实例:随时随地给代码换行,在遇到一些超长代码行时非常有用,一般编程代码一行的字符数不超过80个哦,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell 数组的多种录入方法

这篇文章主要介绍了PowerShell 数组的多种录入方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell String对象方法小结

这篇文章主要介绍了PowerShell String对象方法,需要的朋友可以参考下
收藏 0 赞 0 分享

使用PowerShell获取当前主机内存使用量和总量的方法

这篇文章主要介绍了使用PowerShell获取当前主机内存使用量和总量的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell批量修改AD用户密码属性的代码

这篇文章主要介绍了PowerShell批量修改AD用户密码属性的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell 自动备份oracle并上传到ftp

我这里有这样一个需求:有一个数据库,每天使用SQL Server Agent自动生成备份文件。然后,这个数据库非常重要,需要把每天的备份上传一个远程的FTP服务器上去。下面我们来看看如何使用Powershell来实现吧
收藏 0 赞 0 分享
查看更多