Board logo

标题: [转载代码] [PowerShell每日技巧]正确地使用日期时间格式(20140218) [打印本页]

作者: DAIC    时间: 2014-2-19 15:36     标题: [PowerShell每日技巧]正确地使用日期时间格式(20140218)

When you use Where-Object to filter information by date or time, this works actually very well--provided you use the correct filtering format. Do not use the format found in the results.

To specify a date and or time, always use the culture-neutral management format:

"year-month-day hour:minute:second", so May 14, 2014 at 12:30 would read like this: "2014-05-12 12:30:00".

Or to put it differently: when you output results, PowerShell formats dates and times according to your control panel settings. When you input information (for example, filter criteria), PowerShell always expects a generic date and time format. Which makes sense: scripts should run in any culture the same. Results should be formatted in the culture of the person that needs to read them.

So to find all files in your Windows folder that have not changed since Jan 30, 2014, try this:

PS C:\> Get-ChildItem -Filter "*.txt" | Where-Object -FilterScript {($_.LastWriteTime -gt '2014-01-30')}


    Directory: C:\


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         2/18/2014   5:45 PM        136 BatHome.txt


http://powershell.com/cs/blogs/tips/archive/2014/02/18/correctly-filtering-datetime.aspx




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2