使用new Date()
生成包含当前日期和时间的新Date
对象。
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var yyyy = today.getFullYear();
if(dd<10) {
dd = '0'+dd
}
if(mm<10) {
mm = '0'+mm
}
today = mm + '/' + dd + '/' + yyyy;
document.write(today);
这将以 mm / dd / yyyy 的格式为您提供今天的日期。
只需改变today = mm +'/'+ dd +'/'+ yyyy;
你想要的任何格式。
var utc = new Date().toJSON().slice(0,10).replace(/-/g,'/');
document.write(utc);
如果您要重用utc
变量(例如new Date(utc)
,请使用replace
选项,因为 Firefox 和 Safari 无法识别带破折号的日期。
更新! ,向下滚动
如果你想为最终用户提供一些简单的东西...... Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
var objToday = new Date(),
weekday = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'),
dayOfWeek = weekday[objToday.getDay()],
domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + "").charAt(0)))) return "th"; a = parseInt((a + "").charAt(1)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" }(),
dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
curMonth = months[objToday.getMonth()],
curYear = objToday.getFullYear(),
curHour = objToday.getHours() > 12 ? objToday.getHours() - 12 : (objToday.getHours() < 10 ? "0" + objToday.getHours() : objToday.getHours()),
curMinute = objToday.getMinutes() < 10 ? "0" + objToday.getMinutes() : objToday.getMinutes(),
curSeconds = objToday.getSeconds() < 10 ? "0" + objToday.getSeconds() : objToday.getSeconds(),
curMeridiem = objToday.getHours() > 12 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;
document.getElementsByTagName('h1')[0].textContent = today;
<h1></h1>
UBBER UPDATE经过多次拖延,我终于GitHubbed并用我自己用过的最终解决方案更新了这个。甚至还有一些最后一分钟的编辑让它更甜!如果您正在寻找旧的jsFiddle,请看这个 。
此更新有两种口味,但仍然相对较小,但不如我上面的原始答案那么小。如果你想要非常小,那就去吧。
另请注意:这仍然比 moment.js 更臃肿。虽然 moment.js 很好,但是它有许多世俗的方法,这需要学习时刻,好像它是一种语言。我这里使用与PHP相同的通用格式:日期 。
风味 1
new Date().format(String)
我的个人收藏。我知道禁忌,但在日期对象上工作得很好。只要注意日期对象可能有的任何其他 mod。
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Flavor 2
dateFormat(Date, String)
更传统的一体化方法。具有以前的所有能力,但是通过带有 Date param 的方法调用。
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
BONUS Flavor(需要 jQuery)
$.date(Date, String)
这不仅包含一个简单的format
选项。它扩展了基本 Date 对象,并包含addDays
等方法。有关更多信息,请参阅Git 。
在这个 mod 中,格式字符的灵感来自PHP:date 。有关完整列表,请参阅我的自述文件
此 mod 还有更长的预制格式列表。要使用预制格式,只需输入其密钥名称即可。 dateFormat(new Date(), 'pretty-a');
您可能会注意到,您可以使用 double \
来转义字符。