当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 周五乐趣:获取 13 号周五

作者:精品下载站 日期:2024-12-14 07:39:37 浏览:14 分类:玩电脑

周五乐趣:获取 13 号周五


我认为今天使用 PowerShell 来发现某一年的所有 13 号星期五可能会很有趣。所以我整理了一个简单的 PowerShell 语句。为了使其灵活,我将使用年份变量,并使用当前年份作为我的值。

$year = (Get-date).Year

因为每个月只能有一个星期五,也就是 13 号,所以我可以使用这样的代码来构建每个月 13 号的日期时间对象。


1..12 | where { ([datetime]"$_/13/$year").DayOfWeek -eq 'Friday'}

但这只会给我匹配月份的整数。因此,我将更进一步并获取实际的日期时间对象。


1..12 | foreach { ([datetime]"$_/13/$year") } | where { $_.DayOfWeek -eq 'Friday'} 

如果您尝试此代码,您将看到 2013 年的两个结果。我可以将这个想法更进一步。假设我想找到每个月的最后一个星期五。这是我可能做到的一种方法:


$year = (Get-date).Year

1..12 | foreach { 
$month=$_
$moDays = [datetime]::DaysInMonth($year,$_)
1..$moDays | foreach {
  ([datetime]"$month/$_/$year") 
  }| where { $_.DayOfWeek -eq 'Friday'} |
  Select -Last 1
 }

我所做的就是采用外部每月循环,并添加内部 ForEach 循环来测试该月的每一天是否为星期五,然后选择每个月的最后一个。我会让你自己尝试一下看看结果。

至于今天,不用担心。这只是又一天又是星期五!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯