Error de tiempo de ejecución de Microsoft JScript: '$ .format' es nulo o no es un objeto
DotnetSparrow
¿ha incluido el complemento que incluye las funciones de formato?
zzzzBov
39
Un disimulado forro para aaaa-mm-dd:new Date().toJSON().substring(0,10)
Mike Causer
el mismo de la fformat (doble f)
jorrebor
10
¡ADVERTENCIA! el código pulido: new Date().toJSON().substring(0,10)funcionó bien, ¡pero devuelve la fecha como GMT! Como estamos 7 horas detrás de GMT, me estaba equivocando después de las 5:00 p.m. Acabo de perder un par de horas para encontrar la causa / suspiro /. Referencia
JayRO-GreyBeard
Respuestas:
103
jQuery dateFormat es un complemento separado. Necesita cargar eso explícitamente usando una <script>etiqueta.
Una alternativa sería la simple función js date (), si no desea utilizar el complemento jQuery / jQuery:
p.ej:
var formattedDate =newDate("yourUnformattedOriginalDate");var d = formattedDate.getDate();var m = formattedDate.getMonth();
m +=1;// JavaScript months are 0-11var y = formattedDate.getFullYear();
$("#txtDate").val(d +"."+ m +"."+ y);
Esto es bueno hasta que el usuario quiera la fecha reciente o una fecha se introduzca en el Dateobjeto. ¿Qué hay de obtener la fecha en el mismo formato pero 6 meses antes de la fecha de alimentación?
Sanjok Gurung
31
Aquí hay una función realmente básica que acabo de hacer que no requiere ningún complemento externo:
$.date =function(dateObject){var d =newDate(dateObject);var day = d.getDate();var month = d.getMonth()+1;var year = d.getFullYear();if(day <10){
day ="0"+ day;}if(month <10){
month ="0"+ month;}var date = day +"/"+ month +"/"+ year;return date;};
ThulasiRam, prefiero tu sugerencia. Funciona bien para mí en una sintaxis / contexto ligeramente diferente:
var dt_to = $.datepicker.formatDate('yy-mm-dd',newDate());
Si decide utilizar el selector de fecha de la interfaz de usuario de JQuery , asegúrese de utilizar las referencias adecuadas en la sección <head> de su documento:
Tenga en cuenta que esto le da una fecha hace un mes (a menos que se acceda en enero, en cuyo caso le da '00' para el mes) porque date.getMonth () es un índice basado en cero.
jaybrau
7
Agregue esta función a su <script></script>y llame desde donde quiera en ese<script></script>
Esa segunda opción me da "el argumento de la raíz debe estar entre 2 y 36 en Number.toString". Se estrella.
IRGeekSauce
6
Aunque esta pregunta se hizo hace unos años, ya no se requiere un complemento jQuery siempre que el valor de la fecha en cuestión sea una cadena con formato mm/dd/yyyy(como cuando se usa un selector de fecha);
var birthdateVal = $('#birthdate').val();//birthdateVal: 11/8/2014var birthdate =newDate(birthdateVal);//birthdate: Sat Nov 08 2014 00:00:00 GMT-0500 (Eastern Standard Time)
O puede ejecutar el fragmento de código. Simplemente presione el botón "Ejecutar fragmento de código" debajo de esta publicación.
// Create user jQuery function 'getDate'(function( $ ){
$.fn.getDate =function(format){var gDate =newDate();var mDate ={'S': gDate.getSeconds(),'M': gDate.getMinutes(),'H': gDate.getHours(),'d': gDate.getDate(),'m': gDate.getMonth()+1,'y': gDate.getFullYear(),}// Apply format and add leading zeroesreturn format.replace(/([SMHdmy])/g,function(key){return(mDate[key]<10?'0':'')+ mDate[key];});return getDate(str);};})( jQuery );// Usage: example #1. Write to '#date' div
$('#date').html($().getDate("y-m-d H:M:S"));// Usage: ex2. Simple clock. Write to '#clock' divfunction clock(){
$('#clock').html($().getDate("H:M:S, m/d/y"))}
clock();
setInterval(clock,1000);// One second// Usage: ex3. Simple clock 2. Write to '#clock2' divfunction clock2(){var format ='H:M:S';// Date formatvar updateInterval =1000;// 1 secondvar clock2Div = $('#clock2');// Get divvar currentTime = $().getDate(format);// Get time
clock2Div.html(currentTime);// Write to div
setTimeout(clock2, updateInterval);// Set timer 1 second}// Run clock2
clock2();// Just for fun// Usage: ex4. Simple clock 3. Write to '#clock3' spanfunction clock3(){var formatHM ='H:M:';// Hours, minutesvar formatS ='S';// Secondsvar updateInterval =1000;// 1 secondvar clock3SpanHM = $('#clock3HM');// Get span HMvar clock3SpanS = $('#clock3S');// Get span Svar currentHM = $().getDate(formatHM);// Get time H:Mvar currentS = $().getDate(formatS);// Get seconds
clock3SpanHM.html(currentHM);// Write to div
clock3SpanS.fadeOut(1000).html(currentS).fadeIn(1);// Write to span
setTimeout(clock3, updateInterval);// Set timer 1 second}// Run clock2
clock3();
puede usar el siguiente código sin el complemento.
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><scriptsrc="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script><linkrel="stylesheet"href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"><script>
$(function(){//call the function on page load
$("#datepicker").datepicker();//set the date format here
$("#datepicker").datepicker("option","dateFormat","dd-mm-yy");// you also can use // yy-mm-dd// d M, y// d MM, y// DD, d MM, yy// 'day' d 'of' MM 'in the year' yy (With text - 'day' d 'of' MM 'in the year' yy)});</script>
Pick the Date: <inputtype="text"id="datepicker">
No estoy muy seguro si se me permite responder una pregunta que se hizo hace como 2 años, ya que esta es mi primera respuesta en stackoverflow, pero aquí está mi solución;
Si una vez recuperó la fecha de su base de datos MySQL, divídala y luego use los valores divididos.
Se desaconsejan las respuestas de solo código porque no explican cómo resuelven el problema. Actualice su respuesta para explicar cómo mejora esto en las muchas otras respuestas aceptadas y votadas que esta pregunta ya tiene. Además, esta pregunta tiene 6 años de antigüedad, sus esfuerzos serían más apreciados por los usuarios que tienen preguntas recientes sin respuesta. Por favor revise ¿Cómo escribo una buena respuesta ?
FluffyKitten
1
La respuesta no mencionó que se requería jQuery UI
new Date().toJSON().substring(0,10)
new Date().toJSON().substring(0,10)
funcionó bien, ¡pero devuelve la fecha como GMT! Como estamos 7 horas detrás de GMT, me estaba equivocando después de las 5:00 p.m. Acabo de perder un par de horas para encontrar la causa / suspiro /. ReferenciaRespuestas:
jQuery dateFormat es un complemento separado. Necesita cargar eso explícitamente usando una
<script>
etiqueta.fuente
agregue el complemento jquery ui en su página.
fuente
Una alternativa sería la simple función js date (), si no desea utilizar el complemento jQuery / jQuery:
p.ej:
ver: 10 formas de formatear hora y fecha usando JavaScript
Si desea agregar ceros iniciales al día / mes, este es un ejemplo perfecto: Javascript agrega ceros iniciales hasta la fecha
y si desea agregar tiempo con ceros a la izquierda, intente esto: getMinutes () 0-9: ¿cómo hacerlo con dos números?
fuente
Date
objeto. ¿Qué hay de obtener la fecha en el mismo formato pero 6 meses antes de la fecha de alimentación?Aquí hay una función realmente básica que acabo de hacer que no requiere ningún complemento externo:
Utilizar:
Resultado:
fuente
ThulasiRam, prefiero tu sugerencia. Funciona bien para mí en una sintaxis / contexto ligeramente diferente:
Si decide utilizar el selector de fecha de la interfaz de usuario de JQuery , asegúrese de utilizar las referencias adecuadas en la sección <head> de su documento:
fuente
Estoy usando Moment JS . Es muy útil y fácil de usar.
fuente
Espero que este código solucione tu problema.
fuente
Si está usando jquery ui, puede usarlo como a continuación, puede especificar su propio formato de fecha
fuente
Solo usa esto:
fuente
Agregue esta función a su
<script></script>
y llame desde donde quiera en ese<script></script>
o simplemente puede usar Jquery, que también proporciona funciones de formato: -
Amo la segunda opción. Resuelve todos los problemas de una vez.
fuente
Aunque esta pregunta se hizo hace unos años, ya no se requiere un complemento jQuery siempre que el valor de la fecha en cuestión sea una cadena con formato
mm/dd/yyyy
(como cuando se usa un selector de fecha);fuente
Puede agregar la nueva función de usuario jQuery 'getDate'
JSFiddle: getDate jQuery
O puede ejecutar el fragmento de código. Simplemente presione el botón "Ejecutar fragmento de código" debajo de esta publicación.
¡Disfrutar!
fuente
Podrías hacer uso de este fragmento
fuente
Simplemente podemos formatear la fecha como,
Donde "fecha" es una fecha en cualquier formato.
fuente
Echa un vistazo aquí:
https://github.com/mbitto/jquery.i18Now
Este complemento jQuery le ayuda a formatear y traducir la fecha y la hora de acuerdo con sus preferencias.
fuente
Use la opción dateFormat al crear el selector de fecha.
fuente
puede usar el siguiente código sin el complemento.
fuente
Esto funcionó para mí con una ligera modificación y sin ningún complemento
Entrada: mié 11 de abril de 2018 00:00:00 GMT + 0000
Salida: 04/11/2018
fuente
No estoy muy seguro si se me permite responder una pregunta que se hizo hace como 2 años, ya que esta es mi primera respuesta en stackoverflow, pero aquí está mi solución;
Si una vez recuperó la fecha de su base de datos MySQL, divídala y luego use los valores divididos.
Aquí hay un violín .
fuente
Aquí está el ejemplo de código completo que he mostrado en el navegador, espero que también sea útil, gracias.
fuente
Puedes probar http://www.datejs.com/
BR
fuente
puedes usar esta codificación
fuente