I have been using it for several weeks now and find it very useful.
Now I wish to use the 4th parameter $Passthru, in order to get the [DateTime] object back – note that the input is of [string] type. So I invoked the Function with the 4th parameter (switch) using $True as the input.
My question is: WHERE is the valid [DateTime] object that is presumably returned if it parsed correctly?
The Function returns a [boolean] object type, so I cannot figure out where/how the [DateTime] object is.
Would be grateful for any hints, advice or tips.
Thanking you in advance.
When the PassThru switch is set to TRUE, the output type in not boolean…
PS D:\Sandbox> Test-DateTimePattern -String '12:15 PM' -Pattern t
True
PS D:\Sandbox> Test-DateTimePattern -String '12:15 PM' -Pattern t -PassThru:$true
Wednesday, August 1, 2018 12:15:00 PM
the valid [DateTime] object is returned on the TRUE branch of the if statement on line 10 - note that $result in this branch is not type-cast as [bool] retaining its PowerShell assigned [DateTime] type from the successful TRY statement on line 9
Thank you Sam, but when I tried to “get” the [DateTime] as follows:
$V = Test-DateTimePattern .... (parms omitted)
I got an error message that says I cannot assign $True to $V. It seems to me there is a chicken-and-egg situation here:
1 - to see first if my inputs were valid, I must have a IF statement on $V after the method call.
2 - If valid, then I access $V as the “returned valid parse”, i.e., the desired [dateTime] object … but in this case I get an error because $V according to PS is boolean.
My question again is, How can I “get to” the RETURNED [DateTime] object? Where is it sitting? Is it via assignment to a variable? I know I get the correct [DateTime] returned when it prints on the screen but that’s when I run it directly. What I want is to get hold of that [DateTime] object so I can perform more validity checks such as how old, etc.
Hope this clarifies my dilemma/question/lack of understanding.
Many thanks.
Thanks Joel, but my dilemma is to get access to the RETURNED, and VALIDATED, [DateTime] object.
So when I assign the method call to a variable, e.g.,
$V = Test-DateTimePattern …
and then try to use $V as [DateTime] (e.g., .AddDays) I get an error about using a [boolean].
Hope this clarifies. See my reply to Sam Boutros on this same thread.
Much thanks.