JavaScript convertir una cadena en una Fecha con el formato (dd mmm aaaa), es decir, 01 Jun 2012

Me estoy poniendo de una variable de cadena de tener la fecha en formato 6/1/2012, quiero convertirlo en 01 Jun 2012 .
JS VIOLÍN DEMO

Código traté de:

var t_sdate="6/1/2012";                  
var sptdate = String(t_sdate).split("/");
var myMonth = sptdate[0];
var myDay = sptdate[1];
var myYear = sptdate[2];
var combineDatestr = myYear + "/" + myMonth + "/" + myDay;

var dt = new Date(combineDatestr);
var formatedDate= dt.format("dd mmm yyyy")
alert(formatedDate);

Llegar a la salida como 01 000 2012, requiere como 01 Jun 2012

Uncaught TypeError: Object [objeto Fecha] no tiene ningún método ‘formato’ fue el error registrado en la consola. El código funcionará si se incluyen dateformat-js del plugin en su código.
no soy de usar cualquier archivo js externo, es posible hacerlo sin el uso de cualquier archivo externo
Mira esto: stackoverflow.com/questions/1056728/…
u hizo uso de esta blog.stevenlevithan.com/archives/date-time-format ? u seguro u dwonloaded la date.format.js archivo y configurarlo adecuadamente antes de la u comenzó la codificación?

OriginalEl autor Satinder singh | 2013-07-03

6 respuestas

  1. 8

    Intente esto:

    function getFormattedDate(input) {
    var pattern = /(.*?)\/(.*?)\/(.*?)$/;
    var result = input.replace(pattern,function(match,p1,p2,p3){
    var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    return (p2<10?"0"+p2:p2) + " " + months[(p1-1)] + " " + p3;
    });
    alert(result);
    }
    getFormattedDate("6/1/2013");

    Jsfiddle demo

    Solución perfecta, definitiva, sin adición de external js
    Localizada solución que funciona solamente en la configuración regional.
    hay alguna forma de imprimir nombre de día junto con el mismo código?

    OriginalEl autor Chickenrice

  2. 2

    Ya que otros usuarios ya se ha mencionado que "format" no es un método estándar de objeto Date. Se puede hacer sin el uso de cualquier método format (incluso si no existe)

    var t_sdate = "6/1/2012";
    var sptdate = String(t_sdate).split("/");
    var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
    var myMonth = sptdate[0];
    var myDay = sptdate[1];
    var myYear = sptdate[2];
    var combineDatestr = myDay + " " + months[myMonth - 1] + " " + myYear;
    alert(combineDatestr);

    JsFiddle Demo

    OriginalEl autor sohaiby

  3. 1
    return $.datepicker.formatDate('dd-M-yy', new Date(dateVal)); //01-Dec-2014
    Hola, y bienvenidos a Desbordamiento de Pila. En general, si las etiquetas no incluyen jquery (o en otra biblioteca), las respuestas deben abstenerse de utilizar las bibliotecas para resolver el problema (o pueden sugerir que el uso de una biblioteca sería más fácil). Aquí, usted acaba de asumir el OP es el uso de jQueryUI, la respuesta habría sido más útil había sugerido que jQueryUI tiene este fresco funcionalidad, pero no de la biblioteca de respuestas siguen siendo preferidos (especialmente teniendo en cuenta el OP pregunta del comentario). También echa un vistazo a Desbordamiento de Pila formato de la ayuda: sangría de cuatro caracteres para los bloques de código (o poner en comillas simples inclinadas de código en línea).

    OriginalEl autor DhMi

  4. -1

    “formato” no es un método estándar de Fecha objeto

    OriginalEl autor guy777

  5. -4
    dt.format("dd MMM yyyy")

    El uso de las letras mayúsculas.

    Como guy777 señala correctamente, estándar de JavaScript no tiene un format función.

    OriginalEl autor satish

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *