我编写了以下代码,以将星期一作为开始日期来获取上周的开始和结束
$date_2 = ((Get-Date).adddays(-(6+(Get-Date -UFormat %u)))).date
Write-Host "From : $date_2"
$date_3 = $date_2.AddDays(6)
Write-Host "To : $date_3"
一切正常。
O/P
From : 10/07/2019 00:00:00
To : 10/13/2019 00:00:00
现在需要获取将星期一作为开始日期的一周的开始日期。 例如今天是10月15日,星期二 所以应该给
From : 10/14/2019 00:00:00
To : 10/15/2019 00:00:00
例如如果是10月18日,那么应该是
From : 10/14/2019 00:00:00
To : 10/18/2019 00:00:00
需要您的帮助。
答案 0 :(得分:3)
这使用内置的jQuery(function($){
$('#filter').change(function(){
var filter = $('#filter');
$.ajax({
url:filter.attr('action'),
data:filter.serialize(), // form data
type:filter.attr('method'), // POST
beforeSend:function(xhr){
filter.find('button').text('Processing...'); //
changing the button label
},
success:function(data){
filter.find('button').text('Apply filter'); //
changing the button label back
$('#response').html(data); // insert data
}
});
return false;
});
});
枚举。 [咧嘴]
[DayOfWeek]
输出...
$Today = (Get-Date).Date
$Monday = $Today.AddDays(1 - $Today.DayOfWeek.value__)
$Sunday = $Monday.AddDays(6)
'Week starts {0}' -f $Monday
'Week ends {0}' -f $Sunday
答案 1 :(得分:2)
您可以使用以下函数来接受当前日期作为输入。
根据该日期和星期几(以INT为单位),它将减去一天直到星期一。
function Get-WeekStartDate
{
param
(
[System.DateTime]$Date
)
while ((Get-Date -Date $Date).DayOfWeek.value__ -ne 1)
{
$Date = $Date.AddDays(-1)
}
return $Date
}
Get-WeekStartDate -Date (Get-Date)
答案 2 :(得分:0)
$monday = (Get-Date -Hour 0 -Minute 0 -Second 0).AddDays(-(Get-Date).DayOfWeek.value__ + 1)
根据我的检查,(Get-Date).DayOfWeek.value__
的值(DayofWeek
属性的数值-source)在星期日是0
,在星期一是1
,以此类推。因此,您从今天00:00:00减去n
天。您可以使用.AddDays(-n)
来做到这一点。
结果是您将收到星期日,因此您将加1以获得星期一。
我在将星期一和星期日设置为一周的第一天的两台计算机上进行了测试(可以由[System.Globalization.DateTimeFormatInfo]::CurrentInfo.FirstDayOfWeek
进行检查),并且在两种情况下,它的工作原理都相同。
答案 3 :(得分:0)
这应该是您想要的(每月的总天数作为额外奖励)。
# Get the current day
$date = Get-Date;
# determine the day, month, and year
$curDay = $date.DayOfWeek;
$curMonth = $date.Month;
$curYear = $date.Year;
# get total days in month
$totalDaysInMonth = [DateTime]::DaysInMonth($curYear, $curMonth);
switch($curDay){
"Monday" {
# this is where we want to be
$offset = 0;
}
"Tuesday"{
$offset = -1;
}
"Wednesday"{
$offset = -2;
}
"Thursday"{
$offset = -3;
}
"Friday"{
$offset = -4;
}
"Saturday"{
$offset = -5;
}
"Sunday"{
$offset = -6;
}
}
# Lets determine the start of the week
$startOfWeek = $date.AddDays($offset);
$endOfWeek = $startOfWeek.AddDays(6);
# lets show our findings
Write-Host "From: $startOfWeek";
Write-Host "To: $endOfWeek";