powershell - 在 Powershell 中比较 TICKS 时间
问题描述
我正在尝试比较两个 TICKS 时间,并且我需要比较不那么精确,并认为 DateTime 对象相等,即使它们相隔几毫秒(半分钟顶部),方法是从它们的 DateTime 对象中删除任何多余的毫秒和滴答声(以下 jacubs 指南)。
问题是我的第一个刻度值 ($date1) 是从性能计数器生成的,我无法再次将他转换回日期时间 (Get-Date -Date ($date1)),收到以下错误消息:
获取日期:无法绑定参数“日期”。无法将值“636763462457113590”转换为类型“System.DateTime”。错误:“字符串未被识别为有效的日期时间”
这是我的脚本:
$date1 = (Get-Counter -Counter '\TimeCheck\TIME').CounterSamples[0] | Select-Object -ExpandProperty RawValue
Get-Date $date1
Get-Date -Date ($date1) -Millisecond 0 | Select -ExpandProperty Ticks
$date2 = Get-Date
$date2.Ticks
Get-Date -Date ($date2) -Millisecond 0 | Select -ExpandProperty Ticks
$date1 -eq $date2
该命令对我有用的唯一方法是,如果我自己编写了 TICKS 时间:
PS C:> Get-Date -Date 636763462457113590
Sunday, October 28, 2018 5:57:25 PM
我做错了什么?即使使用 out-string 也不起作用。
解决方案
看起来“Get-Date -Date ($date1)”中的 $date1 不是数字(基于错误)尝试 Get-Date -Date ([int64]$date1) 或 [datetime][int64]$date1
推荐阅读
- node.js - Node.js 以哪种方式并行处理作业?[公牛v3]
- warnings - terra 包在提取过程中产生奇怪的警告
- excel - Excel函数查找一个人的名字和姓氏以获得荣誉
- docker - 为什么我的自定义 Dockerfile 不能通过 docker-compose 网络连接,而其他服务可以?
- elasticsearch - 用于计算活动记录的日期直方图
- api - 让 RapidAPI 与 GoogleSheets 一起使用以提取 IMDB 数据
- python - python代码不起作用 - 反转字符串
- c# - 如何将文本文件的内容逐行输出到 ASP.NET 上的 TextBox?
- php - 对单按钮 pdo 的 2 个查询
- javascript - JS 从对象数组中获取所有对象键的联合