Powershell将CSV中的日期与今天的日期进行比较

时间:2018-07-30 12:28:05

标签: powershell

我有一个csv文件,其日期为最近一次约会的日期,格式为30-01-2018。 项目名称客户编号客户名称上次约会的日期CCP nr CCP姓氏CCP邮件

如果上次约会日期是10个月前,我想发送电子邮件,因此他们有2个月的时间来安排新约会。 该邮件应转到ccp邮件,如果多数民众赞成在项目名称为空。 我的脚本看起来不错,但我无法获取日期日期格式。

我到处都读到了有关解析的信息,但是如果我不进行转换,我将无法获得解析,但是在过去的两个月内,我会获得随机用户,如果我尝试进行解析,则会得到解析 带有“ 3”个参数的调用“ ParseExact”的异常:“未将字符串识别为有效的DateTime。”

$CheckDate = (Get-Date).Addmonths(-10).tostring("dd-MM-yyyy")
$data = Import-Csv -Path '.\CCPt.csv' -Delimiter ";" 
foreach ($User in $data)  {

$Project = $user.'Project name'
$clientname = $user.'Client name'
$datelast = $user.'Date last appointment'
$mail = $user.'CCP mail'


$from = "mail@domain.com" 
$smtp = "smtp.domain.com" 
$Subject = "Reminder"
$body = "Client $clientname has to make a new appointment"
$projmail = Get-ADUser -filter { Name -eq $Project } -Properties * | select -    ExpandProperty mail 

$Convertdatelast = ([datetime]::ParseExact($datelast,"dd-MM-yyyy",$null))

If ($datelast -lt $CheckDate) {send-MailMessage -SmtpServer $smtp -To $mail -    cc -From $from -Subject $subject -Body $body -BodyAsHtml }
}

1 个答案:

答案 0 :(得分:1)

您不必将当前Date转换为字符串进行比较,也不必使用这种复杂的解析方法。

import { HttpParams, HttpClient } from '@angular/common/http';
import {RequestOptions, Request, Headers } from '@angular/http';

然后您只需将两个变量与this.topoMappForm.get('portA').setValidators([Validators.required]) 进行比较。