<DatePicker label="Дата начала"
minDate={moment().toDate()}
maxDate={endDate}
value={startDate}
dateFormat="DD.MM.YYYY"
onDateChange={this.onChangeStartDate}/>
powershell中的上述哪种时间格式? 我需要将相同的格式与Powershell中的今天时间进行比较。
2017-05-05 12:03:02 -0400 (Fri, 05 May 2017)
答案 0 :(得分:3)
由于这是follow-up question,因此您应该提及这一点。
要基于UTC转换包含日期时间和时区偏移量的字符串,
使用[datetime]::ParseExact()
。您应该将RegEx从以前的“问答”更改为仅包含日期时间,而不在括号中添加多余的信息。
[datetime]::ParseExact("2017-05-05 12:03:02 -0400","yyyy-MM-dd HH:mm:ss zzzzz",$Null)
这将转换为本地时间(并正确包含该日期的DST aka夏令时)
此处的时区+1和DST有效的示例输出为:
2017-05-05 18:03:02 +02:00
或者通过.ToString('U')
和我的德语语言环境设置更通用:
Freitag, 5. Mai 2017 16:03:02
要获得与[datetime]::Now
的差异,只需减去并从中选择一个属性
> [datetime]::Now - [datetime]::ParseExact("2017-05-05 12:03:02 -0400","yyyy-MM-dd HHH:mm:ss zzzzz",$Null)
Days : 593
Hours : 20
Minutes : 15
Seconds : 35
Milliseconds : 615
Ticks : 513081356156056
TotalDays : 593,844162217657
TotalHours : 14252,2598932238
TotalMinutes : 855135,593593427
TotalSeconds : 51308135,6156056
TotalMilliseconds : 51308135615,6056
答案 1 :(得分:2)
您可以使用DateTime格式字符串以及格式运算符(-f
)或ToString()
方法来构建或多或少构建自己喜欢的任何格式。例如:
(Get-Date).ToString("yyyy-MM-dd hh:mm:ss")
哪个给出这样的内容:
2018-12-20 12:50:53
如果您想走另一条路,可以这样做:
Get-Date "2017-05-05 12:03:02 -0400"
这会将您的字符串转换为实际的DateTime对象,该对象可以直接与任何其他DateTime比较。因此,例如,要检查目标日期是否在现在之前,请执行以下操作:
(Get-Date "2017-05-05 12:03:02 -0400") -lt (Get-Date)