via page into how javascript string date

page - inject javascript into url



javascript date to string (6)

Confiando en JQuery Datepicker , pero podría hacerse fácilmente:

var mydate = new Date(); $.datepicker.formatDate(''yy-mm-dd'', mydate);

Esto es lo que necesito hacer.

Obtenga la fecha, conviértalo en una cadena y páselo a una utilidad de terceros. La respuesta de la biblioteca tendrá fecha en formato de cadena cuando la aprobé. Entonces, necesito convertir la fecha a una cadena como 20110506105524 (AAAAMMDDHHMMSS)

function printDate() { var temp = new Date(); var dateStr = temp.getFullYear().toString() + temp.getMonth().toString() + temp.getDate().toString() + temp.getHours().toString() + temp.getMinutes().toString() + temp.getSeconds().toString(); debug (dateStr ); }

El problema con arriba es que durante los meses 1 a 9, imprime un dígito. ¿Cómo puedo cambiarlo para imprimir exactamente 2 dígitos por mes, fecha ...


Deberá rellenar con "0" si tiene un solo dígito y note getMonth devuelve 0..11 no 1..12

function printDate() { var temp = new Date(); var dateStr = padStr(temp.getFullYear()) + padStr(1 + temp.getMonth()) + padStr(temp.getDate()) + padStr(temp.getHours()) + padStr(temp.getMinutes()) + padStr(temp.getSeconds()); debug (dateStr ); } function padStr(i) { return (i < 10) ? "0" + i : "" + i; }


Me gusta la respuesta de Daniel Cerecedo usando toJSON() y regex. Una forma aún más simple sería:

var now = new Date(); var regex = /^(/d{4})-(/d{2})-(/d{2})T(/d{2}):(/d{2}):(/d{2}).*$/; var token_array = regex.exec(now.toJSON()); // [ "2017-10-31T02:24:45.868Z", "2017", "10", "31", "02", "24", "45" ] var myFormat = token_array.slice(1).join(''''); // "20171031022445"


Tal vez sea más fácil convertir la Fecha en el número entero real 20110506105524 y luego convertir esto en una cadena:

function printDate() { var temp = new Date(); var dateInt = ((((temp.getFullYear() * 100 + temp.getMonth() + 1) * 100 + temp.getDate()) * 100 + temp.getHours()) * 100 + temp.getMinutes()) * 100 + temp.getSeconds(); debug ( '''' + dateInt ); // convert to String }

Cuando temp.getFullYear() < 1000 el resultado será uno (o más) dígitos más cortos.

Precaución: esto no funcionará con una precisión de milisegundos (es decir, 17 dígitos) ya que Number.MAX_SAFE_INTEGER es 9007199254740991 que tiene solo 16 dígitos.


Un poco más simple usando regex y toJSON() .

var now = new Date(); var timeRegex = /^.*T(/d{2}):(/d{2}):(/d{2}).*$/ var dateRegex = /^(/d{4})-(/d{2})-(/d{2})T.*$/ var dateData = dateRegex.exec(now.toJSON()); var timeData = timeRegex.exec(now.toJSON()); var myFormat = dateData[1]+dateData[2]+dateData[3]+timeData[1]+timeData[2]+timeData[3]

Que en el momento de escribir le da "20151111180924" .

Lo bueno de usar toJSON() es que todo viene incluido.


utiliza este polyfill https://github.com/UziTech/js-date-format

var d = new Date("1/1/2014 10:00 am"); d.format("DDDD ''the'' DS ''of'' MMMM YYYY h:mm TT"); //output: Wednesday the 1st of January 2014 10:00 AM