首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检索每个月的最新值

检索每个月的最新值
EN

Stack Overflow用户
提问于 2015-09-10 10:53:48
回答 1查看 52关注 0票数 0

这是这个question的延续。很抱歉重复一遍,但是没有这段时间,我无法继续前进,我对谷歌的搜索感到厌倦。我到明天才能对这个问题给出赏金。

我想检索每个月的每个数组的最新值,可能是7,6,5等。请问有什么解决方案或想法吗?

预期产出:

代码语言:javascript
运行
复制
$array3 = 7/30/2015
          6/30/2015
          5/31/2015

数组中的所有最新日期。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-10 11:09:31

我不知道您的输出应该是什么样子(如果您提供了一个示例,它总是容易得多),但是如果您想检索--一个仅包含每个月最后一个的日期列表,请尝试如下:

代码语言:javascript
运行
复制
gc $filePath |
 sort { [datetime]$_ } -Descending |
  group {([datetime]$_).Month } |
   % {$_.Group | select -first 1}

它对降序日期进行排序,按月分组,然后相互选择第一个日期。

输出是:

代码语言:javascript
运行
复制
9/22/2015
8/16/2015
7/30/2015
6/30/2015

如果需要反向顺序,只需将| sort { [datetime]$_ }追加到脚本中即可。如果性能重要,则应从第一个sort中删除sort参数,并使用select -last 1而不是sekect -first 1

编辑:为月份而不是8或9个月添加了筛选器,并对日期进行了排序:

代码语言:javascript
运行
复制
$array3 = gc $filePath |
 ? { $tmp = [datetime]$_; $tmp.Month -ne "8" -and $tmp.Month -ne "9" } |
 sort { [datetime]$_ } -Descending|
  group {([datetime]$_).Month } |
   % {$_.Group | select -first 1}
   sort { [datetime]$_ } -Descending

$array3的输出现在是:

代码语言:javascript
运行
复制
7/30/2015
6/30/2015

注意:日期5/31/2015不在您以前的列表中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32499924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档