2013-02-27 34 views
6

Sử dụng đối tượng ngày Powershell làm thế nào để bạn có được số ngày trong tuần, 0 đến 6 trong đó 0 sẽ là Chủ Nhật và 6 sẽ là Thứ Bảy. Tôi biết rằng tôi có thể lấy tên ngày bằng mã bên dưới nhưng làm thế nào để tôi lấy số đó vì không có thuộc tính DayNumberOfWeek hoặc tương đương?Sử dụng Powershell làm thế nào để bạn nhận được số ngày trong tuần?

(Get-Date).DayOfWeek 

Tôi cho rằng tôi có thể sử dụng tên ngày từ mã ở trên trong câu lệnh chuyển đổi để chuyển đổi thành số nhưng điều đó dường như không hùng hồn.

+1

Chỉ cần FYI; 0 là Thứ Hai ở một số quốc gia và Chủ Nhật ở một số quốc gia khác và Chủ Nhật. Nó phụ thuộc vào văn hóa (thiết lập khu vực) của máy tính. –

Trả lời

10

như thế này:

(get-date).DayOfWeek.value__ 

Tôi đề nghị cho tương lai để điều tra thuộc tính của một đối tượng bằng cách này những gì:

(get-date).DayOfWeek | gm -f # gm is an alias for get-member 
+0

Có phát hiện ra nó bản thân mình - chỉ cần thiết để khoan xuống một cấp độ khác. Chúc mừng. –

+0

Chỉ đang chờ thời hạn hết hạn. –

16

Vâng, tài sản dayOfWeek của một DateTime không phải là một chuỗi nhưng thay a DayOfWeek enum, do đó, câu trả lời ngắn nhất có thể là

[Int] (Get-Date).DayOfWeek # returns 0 through 6 for current day of week 

Hoặc

[Int] [DayOfWeek] "Wednesday" # returns 3 

Bill

+0

* 'powershell [Int] (Get-Date) .DayOfWeek' * không hoạt động (trả về" 1 "cho" Monday "). Nhưng, tôi đã thử * 'powershell [Int] [DayOfWeek]" Wednesday "' *, chính xác như bạn đã viết nó, nhưng powershell hiển thị một lỗi: ** "' Mã thông báo không mong đợi 'Thứ tư' trong biểu thức hoặc câu lệnh. "' ** –

+0

Chạy từ lời nhắc PowerShell, không phải từ dấu nhắc cmd.exe (ví dụ, không tiền tố lệnh với 'powershell'). (Tại sao bạn nghĩ rằng bạn cần phải làm điều đó? Ví dụ của tôi không có nó.) –

Các vấn đề liên quan