datejs lib
// Get today's date
Date.today();
// Add 5 days to today
Date.today().add(5).days();
// Get Friday of this week
Date.friday();
// Get March of this year
Date.march();
// Is today Friday?
Date.today().is().friday(); // true|false
// What day is it?
Date.today().getDayName();
[/js]
Everything ok? A little out of breath? Soooo sorry.
Now, some Date Assassin exercises.
[js]
// Get the first Monday of the year
Date.january().first().monday()
// Get the last Friday of the year
Date.dec().final().fri()
// Set a date to the 15th of the current month at 4:30 PM,
// then add 90 days and make sure that date is a weekday,
// else move to the next weekday.
var d1 = Date.today()
.set({ day: 15, hour: 16, minute: 30 })
.add({ days: 90 })
if (!d1.isWeekday()) {
d1.next().monday();
}
[/js]
How about letting your users enter a few dates? Say into an <input> field or date picker? Included with the Datejs library is a powerful replacement for the native JavaScript Date parser.
The following examples all start with a String value that we convert into a Date object.
[js]
// Lets start simple. "Today"
Date.parse('today');
// How about tomorrow?
Date.parse('tomorrow');
// July 8?
Date.parse('July 8');
// With a year?
Date.parse('July 8th, 2007');
// And time?
Date.parse('July 8th, 2007, 10:30 PM');
// Get the date, move to Monday (if not already Monday),
// then alert the date to the user in a different format.
var d1 = Date.parse('8-Jul-2007');
if (!d1.is().monday()) {
d1.last().monday();
}
alert(d1.toString('dddd, MMMM d, yyyy'));
[/js]
The library also includes some Number fun. In order to execute functions directly on JavaScript Number objects, the number must be wrapped in parentheses. This is a requirement of JavaScript. If the number is declared first, the parentheses are not required.
[js]
// Get a date 3 days from now
(3).days().fromNow();
// 6 month ago
(6).months().ago();
// 12 weeks from now
var n = 12;
n.weeks().fromNow();
// Get a date 30 days after a user supplied date
var d1 = Date.parse('07.15.2007');
var d2 = (30).days().after(d1);
[/js]
详细文档:
http://code.google.com/p/datejs/wiki/APIDocumentation
浙公网安备 33010602011771号