Ich habe diese Saite:Wie Sub-String aus Zeichenfolge entfernen?
27/06/2016
oder:
15/10/2005
Ich brauche die Zeichenfolge oben auf diese konvertieren:
27/06/16
oder
15/10/05
Wie ca n Ich implementiere es in Javascript?
Ich habe diese Saite:Wie Sub-String aus Zeichenfolge entfernen?
27/06/2016
oder:
15/10/2005
Ich brauche die Zeichenfolge oben auf diese konvertieren:
27/06/16
oder
15/10/05
Wie ca n Ich implementiere es in Javascript?
können Sie einfach String-Manipulation Methoden verwenden:
function shortDate(str)
{
return str.substring(0, 6) + str.substring(8, 10);
}
var dt = shortDate('27/06/2016');
// returns 27/06/16
Ich war auf halbem Weg durch die Eingabe einer fast identischen Lösung, als dies erschien! – CompanyDroneFromSector7G
sicher, danke bro;)) –
Wenn Sie sicher sind, dass das Datum gültig ist, können Sie diese Funktion verwenden
function formatDate (input) {
var datePart = input.match(/\d+/g);
year = datePart[2].substring(2); // get only two digits
month = datePart[1];
day = datePart[0];
return day+'/'+month+'/'+year;
}
Sie können dieses Verfahren folgen.
Old_date = '27/06/2016';
New_date = Old_date.split('/');
New_date[2] = New_date[2].substring(2);
New_date = New_date.join('/');
Moment.js die beste Bibliothek ist für Datum Manipulation zu verwenden, tut es dies leicht:
moment('15/10/2005', 'DD/MM/YYYY').format('DD/MM/YY');
das ist wirklich gut, wenn Sie Zeitmanipulationen oft brauchen, und nicht zu viele js-Dateien haben, coz Hinzufügen von zusätzlichen 20kb Last auf Ihrer Seite ist etwas schwere Sache.Prost –
und immer noch dies ist eine schöne Lösung –
function reformat(dateStr)
{
dArr = dateStr.split("/");
return dArr[0]+ "/" +dArr[1]+ "/" +dArr[2].substring(2);
}
Erwägen, einen Kommentar zu Ihrer Antwort hinzuzufügen. – HDJEMAI
Wenn Sie auf Echtdaten anstelle von Strings arbeiten wollen:
function parseDate(input) {
var parts = input.match(/(\d+)/g);
return new Date(parts[2], parts[1], parts[0]);
}
function formatDate(date) {
var day = date.getDate();
var month = date.getMonth();
var year = date.getFullYear().toString().substr(2);
return day + '/' + month + '/' + year;
}
und dann einfach:
formatDate(parseDate('27/05/2016')); // returns "27/5/16"
Dies funktioniert nicht, da (a) JS-Daten nullbasierte Monate verwenden und (b) das OP zweistellige Tage und Monate benötigt. (Sie sollten auch überprüfen, wie die Argumente von '.substr()' funktionieren.) – nnnnnn
Wenn Sie die Eingabe sicher sind, wird immer in genau dieses Format, dann können Sie es mit einer einfachen Regex-basierten Zeichenfolge in einer Zeile ersetzen:
var output = input.replace(/..(..)$/,"$1");
Natürlich könnte man die Regex mehr machen Spezifisch mit \d
für Ziffern, aber wieder, wenn Sie wissen, dass das Eingabeformat fest ist .
funktioniert gut, um eine generische "entfernen Sie die dritte und viertletzte Zeichen aus einer beliebigen Zeichenfolge".
Reguläre Ausdrücke
/(?!.*\/)../
str.replace(/(?!.*\/)../,'')
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_substring –