添加到日期时间

时间:2017-08-03 10:43:54

标签: powershell datetime

请原谅我,如果已经在这里问过某个地方,但是我找不到它,但现在就去了。

在我的日志文件中,有一个记录值的时间,时间写在<link rel="stylesheet" href="https://cdn.sencha.com/ext/gpl/4.1.1/resources/css/ext-all.css"> <script type="text/javascript" src="https://cdn.sencha.com/ext/gpl/4.1.1/ext-all-debug.js"></script>

我需要解析该文件的多行,到目前为止,我只能这样做,它会在我想要开始解析行的特定时间增加几分钟。

这是我目前用来添加的代码。但是,当分钟类似于&#34; 05&#34;或者任何低于10的东西,它只是移除了0,我最终得到这样的时间:15:7:49,而它应该是15:07:49。

当它工作并且文件中不存在时间时,它又增加了一秒。有时,logtool会跳过一秒,但不会超过1。

HH:mm:ss

基本上,我要问的是,如何在不丢失$a = [datetime]::ParseExact($a,"HH:mm:ss",$null) $time = [string]$a.Hour + ":" + ($a.Minute+5) + ":" + $a.Second if ($time -eq $time){$time = [string]$a.Hour + ":" + ($a.Minute+5) + ":" + $a.Second} else {$time = [string]$a.Hour + ":" + ($a.Minute+5) + ":" + ($a.Second+1)} 格式的情况下,在一分钟或一秒内添加任何数字?

感谢。

1 个答案:

答案 0 :(得分:3)

DateTime个对象具有添加秒,分钟,小时,天等的方法。

$a.AddMinutes(5)

可以使用相同的方法通过添加负值从时间戳中减去时间:

$a.AddMinutes(-5)

输出格式可以定义,例如通过ToString()方法或format operator-f):

$a.ToString('HH:mm:ss')
'{0:HH:mm:ss}' -f $a

但是,作为Lieven Keersmakers noted in the comments,将DateTime值转换回格式化字符串应保留用于向用户显示值(消息,日志记录,报告等)。在你的脚本DateTime中,对象比字符串更容易使用,所以你应该尽可能长时间地使用它们。