Powershell脚本,用于将Excel时间戳整列转换为datetime
我正在编写PowerShell脚本以收集F5 LTM设备统计信息并通过Excel打开它。但我得到了timestamp列,我想把它改成可读的datetime。我可以通过Excel公式Powershell脚本,用于将Excel时间戳整列转换为datetime,excel,powershell,datetime,Excel,Powershell,Datetime,我正在编写PowerShell脚本以收集F5 LTM设备统计信息并通过Excel打开它。但我得到了timestamp列,我想把它改成可读的datetime。我可以通过Excel公式=(A2/86400)+25569+(-5/24)手动更改它,然后将单元格格式化为最新格式。在那之后,我可以把它改成人类可读的日期时间 我的脚本如下: # Allocate a new Query Object $Query = New-Object -TypeName iControl.SystemStat
=(A2/86400)+25569+(-5/24)
手动更改它,然后将单元格格式化为最新格式。在那之后,我可以把它改成人类可读的日期时间
我的脚本如下:
# Allocate a new Query Object
$Query = New-Object -TypeName iControl.SystemStatisticsPerformanceStatisticQuery
$Query.object_name = "throughput"
$Query.start_time = 1479686400
$Query.end_time = 1480327200
$Query.interval = 0
$Query.maximum_rows = 0
在400个单元格中输入一个公式需要相当长的时间,如果您要迭代所有单元格并在每个单元格中输入公式。使用Excel自动填充机制要快得多
$ws.Range("B2").Formula = "=(A2/86400)+25569+(-5/24)"
$ws.Range("B2").AutoFill($ws.Range("B2:B400"), 0)
在日期列之后插入新列,在新列左侧有值的所有单元格中输入公式,复制该列,粘贴值,格式化,然后删除第一列。将这些步骤记录为宏并将其转换为PowerShell(有关转换指南,请参阅)。谢谢。我尝试了这个方法,但当我添加公式时,它会在b列的所有单元格中粘贴相同的值=(A2/86400)+25569+(-5/24)例如,它在B列下的所有单元格中使用A2值。有没有办法通过shell脚本使用excel的拖动功能?Shell脚本完全是另一回事。您应该能够记录自动填充单元格。否则,我将创建一个循环,在每个单元格中放入索引递增的公式。是的,我尝试使用循环,但速度太慢。填充一个单元格几乎需要1秒钟,而有将近400个单元格。所以我想没有一种直接的方法可以改变时间戳来确定时间填充一个单元格所需的时间应该大大少于一秒钟。为了进一步分析,请使用更完整的代码示例更新您的问题。谢谢Ansgar,它成功了。此外,如果您看到我的脚本,我将开始时间和结束时间作为“时间戳”传递,为此,我必须通过在线计算器手动将日期时间转换为时间戳,然后我必须在脚本执行之前粘贴它。是否可能,如果我运行此脚本,它将获取过去7天的数据?例如,我必须每周一早上运行这个脚本,以获取上周一到周日晚上12点的数据,或者说直到我运行脚本将常规时间戳转换为历元时为止。