我有一些代码,几乎可以完成我需要做的所有事情。它计算的是将来的3天(不包括日期),然后显示我的“预计发货日期”
日期显示为完整的日期和时间,而不仅仅是日期。
日月日年12:02:57 GMT + 0100(英国夏令时)
任何人都可以使用以下代码进行帮助,以便它排除本地时间并且仅显示将来的日期(不包括周末),
DD / MM / YYYY
或以下格式;
6月20日星期一
谢谢!
function addDates(startDate,noOfDaysToAdd){
var count = 0;
while(count < noOfDaysToAdd){
endDate = new Date(startDate.setDate(startDate.getDate() + 1));
if(endDate.getDay() != 0 && endDate.getDay() != 6){
//Date.getDay() gives weekday starting from 0(Sunday) to 6(Saturday)
count++;
}
}
return startDate;
}
var today = new Date();
var daysToAdd = 3;
document.write ('Estimated Dispatch Date: ' + addDates(today,daysToAdd));
答案 0 :(得分:0)
您可以使用toDateString
方法仅显示Date
对象的日期部分,但是您将需要使用其他一些方法来完全控制日期字符串的格式。
您可以使用getDate
,getMonth
和getFullYear
方法提供一些额外的代码行,仅显示本地日期和时间的日期,月份和年份部分,与格式。您可以尝试将特定的格式设置参数传递给toLocaleString
,但这可能会在不同的浏览器中显示不同的结果。例如,下面的代码在Chrome中以dd / mm / yyyy格式输出日期,但不能保证在所有浏览器中的输出。
new Date().toLocaleString('en-GB', {year: 'numeric', month: 'numeric', day: 'numeric'})
不确定我要遵循的处理周末日期的方式,因此以下内容分别处理formatDate
函数和addDays
函数所需的日期格式,而// format input date to dd/mm/yyyy
const formatDate = (date) => {
let d = date.getDate(); // day of the month
let m = date.getMonth(); // month index from 0 (Jan) to 11 (Dec)
let yyyy = date.getFullYear(); // 4 digit year
let dd = (d < 10 ? '0' : '') + d; // format date to 2 digit
let mm = (m + 1 < 10 ? '0' : '') + (m + 1); // convert index to month and format 2 digit
return dd + '/' + mm + '/' + yyyy;
}
// add input days to today and adjust for weekend output
const addDays = (today, days) => {
let now = today.getTime() // now in UTC milliseconds
let ms = 24 * 60 * 60000; // milliseconds in one day
let date = new Date(now + days * ms); // today plus input days
let day = date.getDay(); // weekday index from 0 (Sun) to 6 (Sat)
// adjust weekend results to next weekday
if (day === 0 || day === 6) {
let adj = day === 0 ? 1 : 2;
date = new Date(now + (days + adj) * ms);
}
return date;
}
document.write('Estimated Dispatch Date: ' + formatDate(addDays(new Date(), 3)));
函数只处理周末日期如果最初计算的日期是在星期六或星期日,则将日期前移到星期一。
<errortext>
Failed to find admin configured username attribute in the SAML Response. Please ask your administrator to check SAML user attribute name.
</errortext>