Wie bekomme ich ein zweistelliges Jahr mit Javascript? [duplicate]

Lesezeit: 6 Minuten

Benutzer-Avatar
Brandon

Ich versuche, einen Javascript-Code zu finden, der das aktuelle Datum in diesem Format schreibt: mmttjj

Alles, was ich gefunden habe, verwendet 4-stellige Jahreszahlen und ich brauche 2-stellige.

  • kein großer Fan von Substring bist du

    – PlantTheIdea

    25. Juni 2013 um 20:24 Uhr

  • Darf ich vorschlagen: stackoverflow.com/questions/13184067/…

    – David Thomas

    25. Juni 2013 um 20:25 Uhr

  • wie hast du das recherchiert? siehe stackoverflow.com/questions/1056728/…

    – Djechlin

    25. Juni 2013 um 20:27 Uhr

  • Hier ist eines, das deine Urenkel eines Tages reparieren können new Date().getFullYear() - 2000

    – Simon_Weaver

    16. Juni 2014 um 9:10 Uhr


  • “Ich brauche 2 Ziffern” … wirklich? Sie würden ohne zweistellige Jahreszahlen sterben? Im Gegenteil, 2-stellige Jahre werden Ihnen wahrscheinlich viel mehr Schmerzen bereiten.

    – Hakanai

    12. Februar 2015 um 3:22 Uhr

Benutzer-Avatar
abc123

Die konkrete Antwort auf diese Frage findet sich in dieser einen Zeile weiter unten:

//pull the last two digits of the year
//logs to console
//creates a new date object (has the current date and time by default)
//gets the full year from the date object (currently 2017)
//converts the variable to a string
//gets the substring backwards by 2 characters (last two characters)    
console.log(new Date().getFullYear().toString().substr(-2));

Beispiel für die Formatierung des vollständigen Datums und der Uhrzeit, Einzelfunktion (MMttj):

Javascript:

//A function for formatting a date to MMddyy
function formatDate(d)
{
    //get the month
    var month = d.getMonth();
    //get the day
    //convert day to string
    var day = d.getDate().toString().padStart(2, '0');
    //get the year
    var year = d.getFullYear();
    
    //pull the last two digits of the year
    year = year.toString().substr(-2);
    
    //increment month by 1 since it is 0 indexed
    //converts month to a string
    month = (month + 1).toString().padStart(2, '0');

    //return the string "MMddyy"
    return month + day + year;
}

var d = new Date();
console.log(formatDate(d));

Beispiel für die Formatierung des vollständigen Datums, mehrere Funktionen (MMttj):

// function getMonth with 1 parameter expecting date
// This function returns a string of type MM (example: 05 = May)
function getMonth(d) {
    //get the month
    var month = d.getMonth();
    
    //increment month by 1 since it is 0 indexed
    //converts month to a string
    //if month is 1-9 pad right with a 0 for two digits
    month = (month + 1).toString().padStart(2, '0');
    
    return month;
}

// function getDay with 1 parameter expecting date
// This function returns a string of type dd (example: 09 = The 9th day of the month)
function getDay(d) {
    //get the day
    //convert day to string
    //if day is between 1-9 pad right with a 0 for two digits
    var day = d.getDate().toString().padStart(2, '0');;
    
    return day;
}

// function getYear with 1 parameter expecting date
// This function returns the year in format yy (example: 21 = 2021)
function getYear(d) {
    //get the year
    var year = d.getFullYear();
    
    //pull the last two digits of the year
    year = year.toString().substr(-2);
    
    return year;
}

//A function for formatting a date to MMddyy
function formatDate(d)
{
    //return the string "MMddyy"
    return getMonth(d) + getDay(d) + getYear(d);
}

var d = new Date();
console.log(formatDate(d));

Antworten für vollständige Browserunterstützung (Internet Explorer)

Beispiel für die Formatierung des vollständigen Datums und der Uhrzeit, Einzelfunktion (MMttj): jsFiddle

Javascript:

//A function for formatting a date to MMddyy
function formatDate(d)
{
    //get the month
    var month = d.getMonth();
    //get the day
    //convert day to string
    var day = d.getDate().toString();
    //get the year
    var year = d.getFullYear();
    
    //pull the last two digits of the year
    year = year.toString().substr(-2);
    
    //increment month by 1 since it is 0 indexed
    //converts month to a string
    month = (month + 1).toString();

    //if month is 1-9 pad right with a 0 for two digits
    if (month.length === 1)
    {
        month = "0" + month;
    }

    //if day is between 1-9 pad right with a 0 for two digits
    if (day.length === 1)
    {
        day = "0" + day;
    }

    //return the string "MMddyy"
    return month + day + year;
}

var d = new Date();
console.log(formatDate(d));

Beispiel für die Formatierung des vollständigen Datums, mehrere Funktionen (MMttj):

// function getMonth with 1 parameter expecting date
// This function returns a string of type MM (example: 05 = May)
function getMonth(d) {
    //get the month
    var month = d.getMonth();
    
    //increment month by 1 since it is 0 indexed
    //converts month to a string
    month = (month + 1).toString();

    //if month is 1-9 pad right with a 0 for two digits
    if (month.length === 1)
    {
        month = "0" + month;
    }
    
    return month;
}

// function getDay with 1 parameter expecting date
// This function returns a string of type dd (example: 09 = The 9th day of the month)
function getDay(d) {
    //get the day
    //convert day to string
    var day = d.getDate().toString();
    
      //if day is between 1-9 pad right with a 0 for two digits
    if (day.length === 1)
    {
        day = "0" + day;
    }
    
    return day;
}

// function getYear with 1 parameter expecting date
// This function returns the year in format yy (example: 21 = 2021)
function getYear(d) {
    //get the year
    var year = d.getFullYear();
    
    //pull the last two digits of the year
    year = year.toString().substr(-2);
    
    return year;
}

//A function for formatting a date to MMddyy
function formatDate(d)
{
    //return the string "MMddyy"
    return getMonth(d) + getDay(d) + getYear(d);
}

var d = new Date();
console.log(formatDate(d));

  • Downvote, weil es nach dem Jahr 10.000 nicht mehr funktioniert (jk xD) Btw, leicht behoben mit .slice(-2).

    – Jorge Fuentes González

    21. März 2017 um 23:11 Uhr


  • Wenn Sie sich für Einzeiler entscheiden … Monat = (“0” + (d.getMonth() + 1).toString()).substr(-2)

    – Merovex

    29. Dezember 2019 um 14:22 Uhr


  • @Merovex oder einfach nur console.log(("0" + (new Date().getMonth() + 1).toString()).substr(-2) + ("0" + new Date().getDate().toString()).substr(-2) + new Date().getFullYear().toString().substr(-2))

    – abc123

    30. Dezember 2019 um 6:25 Uhr

  • var day = d.getDate().toString().padStart(2,"0"); keine if-Anweisungen nötig…

    – Salketer

    24. August 2020 um 14:52 Uhr

  • slice(-2) sollte verwendet werden, auch wenn es Ihnen egal ist, >10000 Daten zu unterstützen .substr() ist veraltet

    – ja22

    8. Januar um 1:35

Benutzer-Avatar
Martin Lanzsch

Bei einem Datumsobjekt:

date.getFullYear().toString().substr(2,2);

Es gibt die Zahl als String zurück. Wenn Sie es als Ganzzahl haben möchten, wickeln Sie es einfach in die ein parseInt() Funktion:

var twoDigitsYear = parseInt(date.getFullYear().toString().substr(2,2), 10);

Beispiel mit dem aktuellen Jahr in einer Zeile:

var twoDigitsCurrentYear = parseInt(new Date().getFullYear().toString().substr(2,2));

  • Zu welchem ​​Zweck geben Sie den zweiten Parameter der substr() Methode? Wäre es nicht einfacher zu bedienen date.getFullYear().toString().substr(2);?

    – Alexander Abakumov

    7. September 2015 um 14:52 Uhr


  • @Alexander Abakumov Sie haben Recht, wenn Sie mit Jahreszahlen arbeiten, die vier Ziffern nicht überschreiten;) Dies kommt von meinem defensiven Codierungsstil.

    – Martin Lantzsch

    8. September 2015 um 8:37 Uhr


var d = new Date();
var n = d.getFullYear();

Ja, n gibt Ihnen das 4-stellige Jahr, aber Sie können immer eine Teilzeichenfolge oder etwas Ähnliches verwenden, um das Jahr aufzuteilen, sodass Sie nur zwei Ziffern erhalten:

var final = n.toString().substring(2);

Dadurch erhalten Sie die letzten beiden Ziffern des Jahres (2013 wird zu 13 usw.)

Wenn es einen besseren Weg gibt, postet ihn hoffentlich jemand! Dies ist die einzige Möglichkeit, die ich mir vorstellen kann. Lass uns wissen, ob es funktioniert!

Benutzer-Avatar
VirtualTroll

var currentYear =  (new Date()).getFullYear();   
var twoLastDigits = currentYear%100;

var formatedTwoLastDigits = "";

if (twoLastDigits <10 ) {
    formatedTwoLastDigits = "0" + twoLastDigits;
} else {
    formatedTwoLastDigits = "" + twoLastDigits;
}

Andere Version:

var yy = (new Date().getFullYear()+'').slice(-2);

  • Warum nicht toString() verwenden, anstatt einen leeren String hinzuzufügen? var yy = ((new Date().getFullYear().toString()).slice(-2);

    – Trickpatty

    16. April 2015 um 19:00 Uhr


  • persönliche Gewohnheit, abweichendes Verhalten mit null/undefiniert und auch Leistung

    – Guido Präite

    17. April 2015 um 2:16 Uhr

  • Warum nicht toString() verwenden, anstatt einen leeren String hinzuzufügen? var yy = ((new Date().getFullYear().toString()).slice(-2);

    – Trickpatty

    16. April 2015 um 19:00 Uhr


  • persönliche Gewohnheit, abweichendes Verhalten mit null/undefiniert und auch Leistung

    – Guido Präite

    17. April 2015 um 2:16 Uhr

1216590cookie-checkWie bekomme ich ein zweistelliges Jahr mit Javascript? [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy