我知道可能无法做我需要的事情,但我正在寻找一种确保用户以正确格式输入日期的方法。 我已经编写了一段代码,可以验证DD(日)部分在13-31之间的日期,但我正在努力解决DD在1-12之间的日期
代表: 我可以验证这个日期2016年6月23日并将其修复为06/23/2016 但我无法确保正确输入6月12日。 如果有人会输入2016年6月12日,根据定义,它是一个有效的日期,但不是我需要的日期(06/12/2016),我无法确保日期是我想要的日期它是
如果任何人可以请求我解决方案,我们将非常感激
如果它有任何区别,这是我的代码:
$Date = $args[0]
$Time = $args[1]
try
{
$tmpDate = $Date +" " +$Time
[DateTime]$UserDate = $tmpDate
}
catch
{
$tmp = $Date
$tmp -match "(?<d>.*)/(?<m>.*)/(?<y>.*)">$null
$_Date = $matches['m']+"/"+$matches['d']+"/"+$matches['y']
$tmpDate = $_Date +" " +$Time
try
{
[DateTime]$UserDate = $tmpDate
}
catch
{
write-host "Error: The Given Date was not recognized as a valid Date, Please Try again" -ForegroundColor Red
Exit 808040
}
}
答案 0 :(得分:0)
大多数程序的工作方式是它们要求用户以可接受的格式输入日期。在输入框或提示符附近显示YYYY/MM/DD
之类的内容将有助于用户了解将接受的程序。然后,无论用户输入什么,您都可以单独验证每个部分,并警告用户日期的任何部分是否错误。