You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell的New-Timespan结合进程StartTime计算运行时长?

使用New-TimeSpan计算记事本进程运行时长的实现方案

当然可以通过指定New-TimeSpan的起始时间参数,并用点表示法传入记事本进程的StartTime属性!这是PowerShell里非常直观的操作,我来给你一步步演示:

1. 基础实现步骤

首先你已经拿到了记事本进程对象:

$np = Get-Process notepad

接下来直接用-Start参数指定起始时间为进程的启动时间,创建Time变量:

# 生成TimeSpan对象,记录从进程启动到当前时间的时长
$Time = New-TimeSpan -Start $np.StartTime

2. 创建seconds变量的两种方式

你提到要创建第三个seconds变量,这里分两种常用场景:

  • 获取总运行秒数(包含小数,精确到毫秒级别):用TotalSeconds属性,它会把整个TimeSpan转换成总秒数:
    $seconds = $Time.TotalSeconds
    
  • 获取当前分钟段内的秒数(0-59的整数):用Seconds属性,它只返回TimeSpan里秒部分的数值:
    $seconds = $Time.Seconds
    

3. 注意事项

  • 如果系统中运行了多个记事本进程,$np会是一个进程对象数组,直接用$np.StartTime会报错。这种情况可以指定处理某一个进程,比如第一个:
    $Time = New-TimeSpan -Start $np[0].StartTime
    
    或者循环遍历所有记事本进程,逐个计算运行时长。
  • 如果记事本进程没有运行,$np会为空,执行New-TimeSpan时会报错,建议先判断进程是否存在:
    if ($np) {
        $Time = New-TimeSpan -Start $np.StartTime
        $seconds = $Time.TotalSeconds
    } else {
        Write-Host "没有找到运行中的记事本进程"
    }
    

内容的提问来源于stack exchange,提问作者Masum Billah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:31:31