ค้นหาเว็บไซต์

PowerShell เพิ่มวันถึงวันที่ [3 วิธี]


ก่อนที่เราจะเริ่มต้น การรู้ว่าวันที่ถูกจัดเก็บใน PowerShell เป็นสิ่งสำคัญ วันที่จะถูกจัดเก็บเป็น DateTime ซึ่งมีทั้งวันที่และเวลา วันที่อยู่ในรูปแบบ MM/DD/YYYY มาเรียนรู้วิธีต่างๆ ในการเพิ่มวันจนถึงปัจจุบันใน PowerShell ต่อไป

ใช้วิธี AddDays()

ใช้วิธี AddDays() เพื่อเพิ่มวันถึงวันที่

ใช้ AddDays() วิธีการ:

$startDate = Get-Date
$endDate = $startDate.AddDays(7)
Write-Output "Current Date: $startDate"
Write-Output "New Date: $endDate"

เอาท์พุต :

Current Date: 04/30/2023 14:54:03
New Date: 05/07/2023 14:54:03

ข้อมูลโค้ดด้านบนทำงานในลักษณะต่อไปนี้:

  • Get-Date cmdlet รับวันที่และเวลาปัจจุบันและเก็บไว้ในตัวแปร $startDate
  • วิธีการ AddDays() ของวัตถุ DateTime เพื่อเพิ่ม 7 วันให้กับตัวแปร $startDate และจัดเก็บผลลัพธ์ ในตัวแปร $endDate
  • Write-Output cmdlet จะแสดงวันที่และเวลาปัจจุบันที่จัดเก็บไว้ในตัวแปร $startDate พร้อมด้วยข้อความ "Current Date: "
  • Write-Output cmdlet อื่นจะแสดงวันที่และเวลาใหม่ที่จัดเก็บไว้ในตัวแปร $endDate

ใช้ New-TimeSpan Cmdlet

ใช้ New-TimeSpan cmdlet เพื่อเพิ่มวันถึงวันที่

ใช้ New-TimeSpan Cmdlet:

$startDate = Get-Date
$timeSpan = New-TimeSpan -Days 7
$endDate = $startDate + $timeSpan
Write-Output "Current Date: $startDate"
Write-Output "New Date: $endDate"

เอาท์พุต :

Current Date: 04/30/2023 14:57:19
New Date: 05/07/2023 14:57:19

กรอบโค้ดด้านบนคล้ายกับโค้ดก่อนหน้า แต่ใช้ New-TimeSpancmdlet เพื่อเพิ่มวันจนถึงปัจจุบัน

  • New-TimeSpan cmdlet สร้างออบเจ็กต์ TimeSpan ใหม่พร้อมระยะเวลาที่ระบุ ในกรณีนี้ พารามิเตอร์ -Days ใช้เพื่อระบุระยะเวลา 7 วัน ซึ่งหมายความว่าตัวแปร $timeSpan จะมีออบเจ็กต์ TimeSpan ที่แสดงถึงระยะเวลา 7 วัน
  • จากนั้น เราเพิ่มระยะเวลา $timeSpan ให้กับวันที่ $startDate โดยใช้ตัวดำเนินการ + และกำหนดผลลัพธ์ให้กับ $endDate ตัวแปร สิ่งนี้จะสร้างออบเจ็กต์ DateTime ใหม่ที่แสดงวันที่และเวลา 7 วันหลังจากวันที่ $startDate
  • สุดท้าย ผลลัพธ์จะแสดงโดยใช้ Write-Output cmdlet

โดยใช้วิธีการกำหนดเอง

เราสามารถเขียนฟังก์ชันที่กำหนดเองของเราเองเพื่อเพิ่มวันจนถึงปัจจุบันใน PowerShell วิธีนี้จะใช้วิธีการ AddDays() เพื่อเพิ่มวันจนถึงปัจจุบัน

ใช้ DateAdd() วิธีการ:

function DateAdd([datetime]$date, [int]$days){
    return $date.AddDays($days)
}
$date = Get-Date
$newDate = DateAdd -date $date -days 7
Write-Output "Current Date: $date"
Write-Output "New Date: $newdate"

เอาท์พุต :

Current Date: 04/30/2023 15:10:10
New Date: 05/07/2023 15:10:10

ข้อมูลโค้ดข้างต้นทำงานในลักษณะต่อไปนี้:

  • ฟังก์ชัน DateAdd() ชื่อ DateAdd รับพารามิเตอร์สองตัว: ออบเจ็กต์ [datetime] ชื่อ $date และ [int] เรียกว่า $days ฟังก์ชั่นจะเพิ่มวันที่ระบุในวันที่ดังกล่าวและส่งกลับวันที่ใหม่เป็นวัตถุ [datetime]
  • วิธีการ AddDays() เพิ่มจำนวนวันที่ระบุ ($days) ให้กับวัตถุ $date และส่งกลับผลลัพธ์วันที่ใหม่เป็น < รหัส> [วันที่เวลา] วัตถุ
  • Get-Date ดึงข้อมูลวันที่และเวลาปัจจุบันและเก็บไว้ในตัวแปร $date
  • คำสั่ง $newDate=DateAdd -date $date -days 7 เรียกใช้ฟังก์ชัน DateAdd ด้วย $date และ 7 อาร์กิวเมนต์และจัดเก็บวันที่ใหม่ที่เป็นผลลัพธ์ในตัวแปร $newDate
  • สุดท้าย ผลลัพธ์ที่ได้จะแสดงโดยใช้ Write-Output cmdlet

จากโซลูชันที่กล่าวมาข้างต้น PowerShell มีวิธีเพิ่มวันให้กับวันที่ได้หลายวิธี ทำให้เป็นคุณลักษณะที่มีประสิทธิภาพ วิธีการเหล่านี้รวมถึงการใช้วิธี AddDays() การกำหนดฟังก์ชัน DateAdd() และการใช้วัตถุ TimeSpan ด้วยการใช้ประโยชน์จากวิธีการเหล่านี้ การจัดการวันที่ในสคริปต์ PowerShell จะกลายเป็นงานที่ง่ายดาย ซึ่งช่วยให้ฟังก์ชันต่างๆ มากมายทำงานอัตโนมัติได้

นั่นคือทั้งหมดที่เกี่ยวกับ PowerShell เพิ่มวันจนถึงปัจจุบัน

บทความที่เกี่ยวข้อง