Я обнаружил, что Sophos продолжал размещать psexec.exe в разделе «Карантин». После того, как я разрешил его, он прошел нормально.
Внимание: Ниже приведены лучшие ответы. Этот ответ был написан в 2010 году, и с тех пор появились более новые и лучшие решения. ОП должен принять другой ответ.
function formatDate(date) { var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; var day = date.getDate(); var monthIndex = date.getMonth(); var year = date. getFullYear(); return day + ' ' + monthNames[monthIndex] + ' ' + year; } console.log(formatDate(new Date())); // показать текущую дату-время в консоли
Вы можете редактировать массив monthNames
, чтобы использовать Jan, Feb, Mar и т.д..
Используйте библиотеку date.format:
var dateFormat = require('dateformat');
var now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
returns:
Saturday, June 9th, 2007, 5:46:21 PM
Вот некоторое готовое к вставке время/дата, форматируя код, который НЕ полагается ни на какие внешние модули/библиотеки или использует jQuery или ES7 или что-либо. В отличие от кода в некоторых других ответах, этот код предлагает эту комбинацию функций:
// format_date(date, pattern, utc)
// - date
// - a JavaScript Date object
// - use "new Date()" for current time
// - pattern
// - a string with embedded {codes} like
// "{year4}-{month02}-{day02}: {dayname3}"
// see format_date_funcs below for complete list
// - any other letters go through unchanged
// - utc
// - if true, shows date in UTC time "zone"
// - if false/omitted, shows date in local time zone
//
var month_names =
[
"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"
];
var day_of_week_names =
[
"Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"
];
function space_pad2(num)
{
return num < 10 ? " " + num : num;
}
function zero_pad2(num)
{
return num < 10 ? "0" + num : num;
}
function space_pad3(num)
{
if (num < 10)
return " " + num;
else if (num < 100)
return " " + num;
else
return num;
}
function zero_pad3(num)
{
if (num < 10)
return "00" + num;
else if (num < 100)
return "0" + num;
else
return num;
}
var format_date_funcs =
{
// {year4} = '1902'
// {year02} = '02'
//
'year4': function(date, utc)
{
var year = utc ? date.getUTCFullYear() : date.getFullYear();
return year;
},
'year02': function(date, utc)
{
var year = utc ? date.getUTCFullYear() : date.getFullYear();
return year.toString().substr(2,2);
},
// {month} = '1' - '12'
// {month2} = ' 1' - '12' (space padded)
// {month02} = '01' - '12'
//
'month': function(date, utc)
{
var month = utc ? date.getUTCMonth() : date.getMonth(); // [0,11]
return month + 1;
},
'month2': function(date, utc)
{
var month = utc ? date.getUTCMonth() : date.getMonth(); // [0,11]
return space_pad2(month + 1);
},
'month02': function(date, utc)
{
var month = utc ? date.getUTCMonth() : date.getMonth(); // [0,11]
return zero_pad2(month + 1);
},
// {monthname} = 'January'
// {monthname3} = 'Jan'
//
'monthname': function(date, utc)
{
var month = utc ? date.getUTCMonth() : date.getMonth(); // [0,11]
return month_names[month];
},
'monthname3': function(date, utc)
{
var month = utc ? date.getUTCMonth() : date.getMonth(); // [0,11]
return month_names[month].substr(0, 3);
},
// {day} = '1' - '31'
// {day2} = ' 1' - '31' (space padded)
// {day02} = '01' - '31'
//
'day': function(date, utc)
{
var date = utc ? date.getUTCDate() : date.getDate(); // [1,31]
return date;
},
'day2': function(date, utc)
{
var date = utc ? date.getUTCDate() : date.getDate(); // [1,31]
return space_pad2(date);
},
'day02': function(date, utc)
{
var date = utc ? date.getUTCDate() : date.getDate(); // [1,31]
return zero_pad2(date);
},
// {dayname} = 'Tuesday'
// {dayname3} = 'Tue'
//
'dayname': function(date, utc)
{
var day = utc ? date.getUTCDay() : date.getDay(); // [0,6]
return day_of_week_names[day];
},
'dayname3': function(date, utc)
{
var day = utc ? date.getUTCDay() : date.getDay(); // [0,6]
return day_of_week_names[day].substr(0,3);
},
// {24hour} = '0' - '23'
// {24hour2} = ' 0' - '23' (space padded)
// {24hour02} = '00' - '23'
//
'24hour': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
return hour;
},
'24hour2': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
return space_pad2(hour);
},
'24hour02': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
return zero_pad2(hour);
},
// {12hour} = '1' - '12'
// {12hour2} = ' 1' - '12' (space padded)
// {12hour02} = '01' - '12'
// {ampm} = 'am' or 'pm'
// {AMPM} = 'AM' or 'PM'
//
'12hour': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
hour = hour % 12; // [0,11]
if (0 === hour) hour = 12;
return hour;
},
'12hour2': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
hour = hour % 12; // [0,11]
if (0 === hour) hour = 12;
return space_pad2(hour);
},
'12hour02': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
hour = hour % 12; // [0,11]
if (0 === hour) hour = 12;
return zero_pad2(hour);
},
'ampm': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
return (hour < 12 ? 'am' : 'pm');
},
'AMPM': function(date, utc)
{
var hour = utc ? date.getUTCHours() : date.getHours(); // [0,23]
return (hour < 12 ? 'AM' : 'PM');
},
// {minute} = '0' - '59'
// {minute2} = ' 0' - '59' (space padded)
// {minute02} = '00' - '59'
//
'minute': function(date, utc)
{
var minute = utc ? date.getUTCMinutes() : date.getMinutes(); // [0,59]
return minute;
},
'minute2': function(date, utc)
{
var minute = utc ? date.getUTCMinutes() : date.getMinutes(); // [0,59]
return space_pad2(minute);
},
'minute02': function(date, utc)
{
var minute = utc ? date.getUTCMinutes() : date.getMinutes(); // [0,59]
return zero_pad2(minute);
},
// {second} = '0' - '59'
// {second2} = ' 0' - '59' (space padded)
// {second02} = '00' - '59'
//
'second': function(date, utc)
{
var second = utc ? date.getUTCSeconds() : date.getSeconds(); // [0,59]
return second;
},
'second2': function(date, utc)
{
var second = utc ? date.getUTCSeconds() : date.getSeconds(); // [0,59]
return space_pad2(second);
},
'second02': function(date, utc)
{
var second = utc ? date.getUTCSeconds() : date.getSeconds(); // [0,59]
return zero_pad2(second);
},
// {msec} = '0' - '999'
// {msec3} = ' 0' - '999' (space padded)
// {msec03} = '000' - '999'
//
'msec': function(date, utc)
{
var msec =
utc ? date.getUTCMilliseconds() : date.getMilliseconds(); // [0,999]
return msec;
},
'msec3': function(date, utc)
{
var msec =
utc ? date.getUTCMilliseconds() : date.getMilliseconds(); // [0,999]
return space_pad3(msec);
},
'msec03': function(date, utc)
{
var msec =
utc ? date.getUTCMilliseconds() : date.getMilliseconds(); // [0,999]
return zero_pad3(msec);
},
// {open} = '{' (in case you actually want '{' in the output)
//
'open': function(date, utc)
{
return '{';
},
// {close} = '}' (in case you actually want '}' in the output)
//
'close': function(date, utc)
{
return '}';
},
};
function format_date(date, pattern, utc)
{
if (!pattern)
{
pattern = '{month}/{day}/{year4}';
}
var ret = '';
while (pattern.length > 0)
{
var s = pattern.indexOf('{');
var e = pattern.indexOf('}');
//console.log('s ' + s + ' e ' + e);
if (-1 !== s && -1 !== e && s < e)
{
// - there is a well-formed {foo} in range [s,e]
// - first we emit range [0,s) as literal
}
else
{
// - rest of string has no {} or has malformed }{ or { or }
// - just emit the rest of the string as literal and be done
s = pattern.length;
}
// emit range [0,s) as literal
if (s > 0)
{
ret += pattern.substr(0, s);
pattern = pattern.substr(s);
e -= s;
s = 0;
}
if (0 === pattern.length) break;
// emit range [s=0,e] by evaluating code
console.assert(0 === s); // position of {
console.assert(e > 0); // position of }
console.assert('{' === pattern.substr(s, 1));
console.assert('}' === pattern.substr(e, 1));
var code = pattern.substr(1,e-1);
var func = format_date_funcs[code];
console.assert(func);
ret += func(date, utc);
pattern = pattern.substr(e+1);
}
return ret;
}
if (1) // test format_date
{
var fmt = '[';
for (var func in format_date_funcs)
{
if (!format_date_funcs.hasOwnProperty(func)) continue;
fmt += '{' + func + '}/';
}
fmt += ']';
var now = new Date();
console.log(fmt);
console.log(format_date(now, fmt, false /*utc*/));
console.log(format_date(now, fmt, true /*utc*/));
}
Необходимо взглянуть на DayJs, Это - ремейк momentJs, но легче.
Быстрая альтернатива 2 КБ Moment.js с тем же современным API
Day.js является минималистской библиотекой JavaScript, которая анализирует, проверяет, управляет и отображает даты и время современных браузеров с в основном Moment.js-совместимым API. При использовании Moment.js Вы уже знаете, как использовать Day.js.
var date = Date.now();
const formatedDate = dayjs(date).format("YYYY-MM-DD")
console.log(formatedDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/dayjs/1.8.16/dayjs.min.js" crossorigin="anonymous"></script>
Для форматирования даты как, например, 10-Aug-2010
, Вы могли бы хотеть использовать .toDateString()
и массив ES6 destructuring.
const formattedDate = new Date().toDateString()
const [, month, day, year] = formattedDate.split(' ')
const ddMmmYyyy = `${day}-${month}-${year}`
// or
const ddMmmYyyy = [day, month, year].join('-')
По состоянию на 2019 похоже, что можно заставить toLocaleDateString возвращать только определенные части, и затем можно присоединиться к ним, как Вы желаете:
var date = new Date();
console.log(date.toLocaleDateString("en-US", { day: 'numeric' })
+ "-"+ date.toLocaleDateString("en-US", { month: 'short' })
+ "-" + date.toLocaleDateString("en-US", { year: 'numeric' }) );
> 16-Nov-2019
console.log(date.toLocaleDateString("en-US", { month: 'long' })
+ " " + date.toLocaleDateString("en-US", { day: 'numeric' })
+ ", " + date.toLocaleDateString("en-US", { year: 'numeric' }) );
> November 16, 2019