我想检查DateTime字段是否不是空的\null字符串。如果datetime字段不为空,则我将执行一些操作。
[DateTime]$expdate = Read-Host "Expiration Date? MM/DD/YYYY"
$newexpdate = $expdate.AddDays(1)
if (!([DateTime]$expdate -eq "")) {
Write-Host -ForegroundColor Green $($newexpdate) "Date Time entered"
}
这是我的错误消息:
Cannot convert value "" to type "System.DateTime". Error: "String was not
recognized as a valid DateTime."
At line:1 char:2
+ [DateTime]$expdate = Read-Host "Expiration Date? MM/DD/YYYY"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : MetadataError: (:) [], ArgumentTransformationMetadataException
+ FullyQualifiedErrorId : RuntimeException`
我能做些什么来检查一个字段是否不是字符串,而是DateTime
对象?
您的逻辑没有多大意义,但我认为您正在尝试这样做(如下所示)。为了直接解决您的最后一个问题,您可以使用-is
或-isNot
运算符来测试对象的类型,该运算符将返回$True
\$False
,具体取决于匹配项。运算符的另一边可以是字符串或类型加速器,即[DateTime]'10/10/2010'-是'DateTime'
或[DateTime]'10/10/2010'-是[DateTime]
都计算为$True
Do
{
$ExpDate = Read-Host -Prompt 'Expiration date? MM/DD/YYYY'
} Until ($ExpDate -match '\d{1,2}\/\d{1,2}\/\d{2,4}')
$NewExpDate = ([DateTime]$ExpDate).AddDays(1)
If ($ExpDate)
{
Write-Host "$NewExpDate Date Time entered." -ForegroundColor 'Green'
}
没有空的[DateTime]值,它可以是$null或DateTime值。
读取主机返回字符串类型。您试图做的是将字符串值分配给[DateTime]类型,这将导致错误。
您可以像这样重写代码:
$expdate = Read-Host "Expiration Date? MM/DD/YYYY"
if (![string]::IsNullOrEmpty($expdate))) {
#add logic to check $expdate is valid datetime
#then you can do this
$newexpdate = ([DateTime]$expdate).AddDays(1)
Write-Host -ForegroundColor Green $($newexpdate) "Date Time entered"
}
当您可以向函数或脚本声明强制DateTime
-type参数时,为什么要提示用户输入?如果缺少参数,PowerShell将提示用户输入日期和时间,用户可以在运行时输入。(如果您使用Read-Host
,则无法自动化。)
问题内容: 我试图弄清楚如何检查一个字段是否为空或为空。我有这个 我需要添加额外的支票,例如 任何想法如何做到这一点? 问题答案: 无论使用 要么 如果只想检查而不是空字符串,则也可以使用或。但这不适用于空字符串。
我有一个名为< code>Person的对象。 它有几个属性; 我设置了一个person对象,比如< code>Person p = new Person(1,“Joe”);。 1.) 我需要检查对象是否为空;以下表达式是否正确; 2.)我需要知道ID是否包含Int。 但是,java不允许这样做。我该怎么办?
问题内容: 如何检查是否为空? 问题答案: 您自己说过的,请检查它是: 看,PHP非常简单。您可以简单地写下您的想法;) 这种方法很安全。如果未设置(可能,但可能),则可能会给您提供未定义的变量E_NOTICE 。
在下面的代码中,我需要检查版本字符串是否为空,然后将其值附加到请求变量。 如何检查不在if条件下?
我需要在JPA查询中传递这个参数。 我如何才能实现这一点,而不是为IS NULL&IS NOT NULL创建2个单独的查询。
在PowerShell中,是否有一个内置的类函数来检查字符串是空还是空? 到目前为止我还找不到它,如果有一个内置的方式,我不想为此写一个函数。