我想知道做這件事的最好方法是什麼。我想要有一個預計的交貨時間腳本,在我的網頁上的HTML中:2從今天獲取天數JQuery
2號碼將每頁更改,但這將是天交貨花費,現在我想另一個div的內容以顯示從今天的日期[ammount]:星期五26日
得到div的等將是容易的,但我不知道什麼樣的功能,我可以用來獲得日期倒計時。任何幫助非常感謝,謝謝。
我想知道做這件事的最好方法是什麼。我想要有一個預計的交貨時間腳本,在我的網頁上的HTML中:2從今天獲取天數JQuery
2號碼將每頁更改,但這將是天交貨花費,現在我想另一個div的內容以顯示從今天的日期[ammount]:星期五26日
得到div的等將是容易的,但我不知道什麼樣的功能,我可以用來獲得日期倒計時。任何幫助非常感謝,謝謝。
這是一個非常簡單的過程,爲日期添加日期。這裏有一個簡單的片斷:
// Get the current date
var now = new Date();
// Add three days
now.setDate(now.getDate() + 3);
// Log the updated Date object to the console
console.log(now); //= Sat Jul 27 2013 16:00:00 GMT+0200 (W. Europe Daylight Time)
我以爲這件事很有意思,所以我冒昧地創造更先進的腳本,需要的工作時間,週末和特殊日期(即假期)因素:
// Current date/time
var now = new Date();
// Placeholder for delivery time
var deliveryDate;
// Amount of days to deliver
var deliveryDays = 2;
// Working hours (in UTC)
var workingHours = [8, 17];
// Non-delivery days/dates
// Must match the format returned by .toString():
// Mon Sep 28 1998 14:36:22 GMT-0700 (Pacific Daylight Time)
var nonDelivery = [
"Sun",
"Sat",
"Dec 24",
"Dec 25",
"Dec 31",
"Jan 1"
];
// Create a regular expression
var rxp = new RegExp(nonDelivery.join("|"));
// addDay holds the amount of days to add to delivery date
var addDay = deliveryDays;
// Add an extra day if outside of working hours
var currentHour = now.getUTCHours();
if (currentHour < workingHours[0] ||
currentHour > workingHours[1]) {
addDay++;
}
// Let's create our delivery date
while (!deliveryDate) {
// Add day(s) to delivery date
now.setDate(
now.getDate() + addDay
);
deliveryDate = now;
if (rxp.test(deliveryDate)) {
addDay = 1;
deliveryDate = false;
}
}
// Function to get ordinal
function nth(d) {
if (d > 3 && d < 21) return 'th';
switch (d % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
}
// Now lets format
var locale = "en-GB"; // Our locale
var day = deliveryDate.toLocaleDateString(locale, { day: "numeric" });
var weekday = deliveryDate.toLocaleDateString(locale, { weekday: "long" });
// Log the results to the console
console.log(weekday + " " + day + nth(day));
太棒了!非常簡單,確實謝謝,將在6分鐘內接受答案:) –
@SimonStaton請注意,這將增加24小時。你會想要更高級的東西,需要考慮週末甚至假期。 – mekwall
是的,我也在想,我會環顧四周,但至少這是一個起點,是否有可能將'現在'轉換爲像「7月26日星期五」這樣的日期? –
請看任何javascript Date()教程或參考。這確實是一件基本的事情。 http://www.w3schools.com/jsref/jsref_obj_date.asp –
請不要引用w3schools.com:http://www.w3fools.com/ – BenM
@BenM +1引用w3fools – gustavohenke