This is a strftime.js. Yet another Date.prototype.strftime library.
<script type="text/javascript" src="strftime.js"></script>
<script type="text/javascript">
document.write( (new Date).strftime('%Y-%m-%dT%H:%M:%S') );
</script>
Date.prototype.strftime('%Y-%m-%d')
Date.prototype.strftime('%Y-%m-%d(%a)', 'ja')
Date.prototype.strftime('%Y-%m-%d(%a)', 'en')
You can specify the locale by second parameter.
%a
abbreviated weekday name according to the current locale
%A
full weekday name according to the current locale
%b
abbreviated month name according to the current locale
%B
full month name according to the current locale
%c
preferred date and time representation for the current locale
%C
century number (the year divided by 100 and truncated to an integer, range 00 to 99)
%d
day of the month as a decimal number (range 01 to 31)
%D
same as %m/%d/%y
%e
day of the month as a decimal number, a single digit is preceded by a space (range ' 1' to '31')
%F
same as %Y-%m-%d (ISO 8601 date format)
%h
same as %b
%H
hour as a decimal number using a 24-hour clock (range 00 to 23)
%I
hour as a decimal number using a 12-hour clock (range 01 to 12)
%k
hour as a decimal number using a 24-hour clock (range 0 to 23); single digits are preceded by a blank. (See also %H.)
%l
hour as a decimal number using a 12-hour clock (range 1 to 12); single digits are preceded by a blank. (See also %I.)
%m
month as a decimal number (range 01 to 12)
%M
minute as a decimal number
%n
newline character
%p
either `AM' or `PM' according to the given time value, or the corresponding strings for the current locale
%P
like %p, but lower case
%r
time in a.m. and p.m. notation equal to %I:%M:%S %p
%R
time in 24 hour notation equal to %H:%M
%s
number of seconds since the Epoch, ie, since 1970-01-01 00:00:00 UTC
%S
second as a decimal number
%t
tab character
%T
current time, equal to %H:%M:%S
%u
weekday as a decimal number [1,7], with 1 representing Monday
%w
day of the week as a decimal, Sunday being 0
%x
preferred date representation for the current locale without the time
%X
preferred time representation for the current locale without the date
%y
year as a decimal number without a century (range 00 to 99)
%Y
year as a decimal number including the century
%z
numerical time zone representation
%%
a literal `%' character
You can add your locale by following:
Date.prototype.strftime.locales['de'] = {
B: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
b: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
A: ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"],
a: ["Mo\.", "Di\.", "Mi\.", "Do\.", "Fr\.", "Sa\.", "So\."]
};
You can call following method:
Date.prototype.strftime.setDefaultLocale('ja');
It's based on Daniel Rench's Date.prototype.strftime library in http://dren.ch/strftime/. He releases original version in Public Domain. I also release this modificated code in Public Domain.