Microsoft JScript-Laufzeitfehler: '$ .format' ist null oder kein Objekt
DotnetSparrow
Haben Sie das Plugin aufgenommen, das die Formatfunktionen enthält?
zzzzBov
39
Sneaky One Liner für JJJJ-MM-TT:new Date().toJSON().substring(0,10)
Mike Causer
es ist fformat (double f)
jorrebor
10
WARNUNG! Der Slick-Code: hat gut new Date().toJSON().substring(0,10)funktioniert, aber er gibt das Datum als GMT zurück! Da wir 7 Stunden hinter GMT sind, bekam ich nach 17:00 Uhr das falsche Datum. Ich habe nur ein paar Stunden damit verbracht, die Ursache zu finden / seufz /. Referenz
JayRO-GreyBeard
Antworten:
102
jQuery dateFormat ist ein separates Plugin. Sie müssen dies explizit mit einem <script>Tag laden .
Eine Alternative wäre die einfache Funktion js date (), wenn Sie das jQuery / jQuery-Plugin nicht verwenden möchten:
z.B:
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);
Es wird praktisch sein, Sekunden hinzuzufügen, wie es @sein getan hat
wpcoder
Dies ist gut, bis der Benutzer das letzte Datum wünscht oder ein Datum in das DateObjekt eingegeben wird. Was ist mit dem Datum im gleichen Format, aber 6 Monate vor dem Fütterungsdatum?
Sanjok Gurung
31
Hier ist eine wirklich grundlegende Funktion, die ich gerade erstellt habe und für die keine externen Plugins erforderlich sind:
$.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, ich bevorzuge Ihren Vorschlag. Es funktioniert gut für mich in einer etwas anderen Syntax / Kontext:
var dt_to = $.datepicker.formatDate('yy-mm-dd',newDate());
Wenn Sie Datepicker über die JQuery-Benutzeroberfläche verwenden möchten , stellen Sie sicher, dass Sie im Abschnitt <head> Ihres Dokuments die richtigen Verweise verwenden:
Beachten Sie, dass Sie dadurch ein Datum erhalten, das einen Monat in der Vergangenheit liegt (es sei denn, es wird im Januar aufgerufen. In diesem Fall erhalten Sie für den Monat '00'), da date.getMonth () ein auf Null basierender Index ist.
Jaybrau
7
Wenn Sie jquery ui verwenden, können Sie es wie folgt verwenden. Sie können Ihr eigenes Datumsformat angeben
Diese zweite Option gibt mir "Radix-Argument muss bei Number.toString zwischen 2 und 36 liegen". Es stürzt ab.
IRGeekSauce
6
Obwohl diese Frage vor einigen Jahren gestellt wurde, ist ein jQuery-Plugin nicht mehr erforderlich, vorausgesetzt, der betreffende Datumswert ist eine Zeichenfolge mit Format mm/dd/yyyy(wie bei Verwendung einer Datumsauswahl).
var birthdateVal = $('#birthdate').val();//birthdateVal: 11/8/2014var birthdate =newDate(birthdateVal);//birthdate: Sat Nov 08 2014 00:00:00 GMT-0500 (Eastern Standard Time)
Oder Sie können ein Code-Snippet ausführen. Klicken Sie einfach auf die Schaltfläche "Code-Snippet ausführen" unter diesem Beitrag.
// 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();
Sie können den folgenden Code ohne das Plugin verwenden.
<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">
Ich bin mir nicht ganz sicher, ob ich eine Frage beantworten darf, die wie vor 2 Jahren gestellt wurde, da dies meine erste Antwort auf Stackoverflow ist, aber hier ist meine Lösung.
Wenn Sie das Datum einmal aus Ihrer MySQL-Datenbank abgerufen haben, teilen Sie es auf und verwenden Sie dann die aufgeteilten Werte.
Von Nur-Code-Antworten wird abgeraten, da sie nicht erklären, wie sie das Problem lösen. Bitte aktualisieren Sie Ihre Antwort, um zu erklären, wie sich dies gegenüber den vielen anderen akzeptierten und positiv bewerteten Antworten verbessert, die diese Frage bereits hat. Außerdem ist diese Frage 6 Jahre alt. Ihre Bemühungen würden von Benutzern, die kürzlich unbeantwortete Fragen haben, mehr geschätzt. Bitte überprüfen Sie, wie ich eine gute Antwort schreibe .
FluffyKitten
1
Die Antwort erwähnte nicht, dass eine jQuery-Benutzeroberfläche erforderlich war
new Date().toJSON().substring(0,10)
new Date().toJSON().substring(0,10)
funktioniert, aber er gibt das Datum als GMT zurück! Da wir 7 Stunden hinter GMT sind, bekam ich nach 17:00 Uhr das falsche Datum. Ich habe nur ein paar Stunden damit verbracht, die Ursache zu finden / seufz /. ReferenzAntworten:
jQuery dateFormat ist ein separates Plugin. Sie müssen dies explizit mit einem
<script>
Tag laden .quelle
füge jquery ui plugin zu deiner Seite hinzu.
quelle
Eine Alternative wäre die einfache Funktion js date (), wenn Sie das jQuery / jQuery-Plugin nicht verwenden möchten:
z.B:
Siehe: 10 Möglichkeiten zum Formatieren von Uhrzeit und Datum mit JavaScript
Wenn Sie Tag / Monat führende Nullen hinzufügen möchten, ist dies ein perfektes Beispiel: Javascript fügt dem Datum führende Nullen hinzu
und wenn Sie Zeit mit führenden Nullen hinzufügen möchten, versuchen Sie Folgendes : getMinutes () 0-9 - wie geht das mit zwei Zahlen?
quelle
Date
Objekt eingegeben wird. Was ist mit dem Datum im gleichen Format, aber 6 Monate vor dem Fütterungsdatum?Hier ist eine wirklich grundlegende Funktion, die ich gerade erstellt habe und für die keine externen Plugins erforderlich sind:
Verwenden:
Ergebnis:
quelle
ThulasiRam, ich bevorzuge Ihren Vorschlag. Es funktioniert gut für mich in einer etwas anderen Syntax / Kontext:
Wenn Sie Datepicker über die JQuery-Benutzeroberfläche verwenden möchten , stellen Sie sicher, dass Sie im Abschnitt <head> Ihres Dokuments die richtigen Verweise verwenden:
quelle
Ich benutze Moment JS . Ist sehr hilfreich und einfach zu bedienen.
quelle
Ich hoffe, dieser Code wird Ihr Problem beheben.
quelle
Verwenden Sie einfach dies:
quelle
Wenn Sie jquery ui verwenden, können Sie es wie folgt verwenden. Sie können Ihr eigenes Datumsformat angeben
quelle
Fügen Sie diese Funktion zu Ihrer hinzu
<script></script>
und rufen Sie an, wo immer Sie möchten<script></script>
oder Sie können einfach die JQuery verwenden, die auch Formatierungsmöglichkeiten bietet: -
Ich liebe die zweite Option. Es löst alle Probleme auf einmal.
quelle
Obwohl diese Frage vor einigen Jahren gestellt wurde, ist ein jQuery-Plugin nicht mehr erforderlich, vorausgesetzt, der betreffende Datumswert ist eine Zeichenfolge mit Format
mm/dd/yyyy
(wie bei Verwendung einer Datumsauswahl).quelle
Sie können die neue Benutzer-jQuery-Funktion 'getDate' hinzufügen.
JSFiddle: getDate jQuery
Oder Sie können ein Code-Snippet ausführen. Klicken Sie einfach auf die Schaltfläche "Code-Snippet ausführen" unter diesem Beitrag.
Genießen!
quelle
Sie könnten dieses Snippet verwenden
quelle
Einfach können wir das Datum wie folgt formatieren:
Wobei "Datum" ein Datum in einem beliebigen Format ist.
quelle
Schauen Sie hier:
https://github.com/mbitto/jquery.i18Now
Mit diesem jQuery-Plugin können Sie Datum und Uhrzeit nach Ihren Wünschen formatieren und übersetzen.
quelle
Verwenden Sie die Option dateFormat, wenn Sie eine Datumsauswahl erstellen.
quelle
Sie können den folgenden Code ohne das Plugin verwenden.
quelle
Dies funktionierte bei mir mit geringfügigen Änderungen und ohne Plugin
Eingabe: Mi 11. April 2018 00:00:00 GMT + 0000
Ausgabe: 04/11/2018
quelle
Ich bin mir nicht ganz sicher, ob ich eine Frage beantworten darf, die wie vor 2 Jahren gestellt wurde, da dies meine erste Antwort auf Stackoverflow ist, aber hier ist meine Lösung.
Wenn Sie das Datum einmal aus Ihrer MySQL-Datenbank abgerufen haben, teilen Sie es auf und verwenden Sie dann die aufgeteilten Werte.
Hier ist eine Geige .
quelle
Hier ist das vollständige Codebeispiel, das ich im Browser gezeigt habe. Ich hoffe, Sie sind auch hilfreich, danke.
quelle
Sie können http://www.datejs.com/ versuchen
BR
quelle
Sie können diese Codierung verwenden
quelle