Get month name from Date

前端 未结 30 2746
情歌与酒
情歌与酒 2020-11-22 00:16

How can I generate the name of the month (e.g: Oct/October) from this date object in JavaScript?

var objDate = new Date(\"10/11/2009\");
30条回答
  •  有刺的猬
    2020-11-22 00:50

    It is now possible to do this with the ECMAScript Internationalization API:

    const date = new Date(2009, 10, 10);  // 2009-11-10
    const month = date.toLocaleString('default', { month: 'long' });
    console.log(month);

    'long' uses the full name of the month, 'short' for the short name, and 'narrow' for a more minimal version, such as the first letter in alphabetical languages.

    You can change the locale from browser's 'default' to any that you please (e.g. 'en-us'), and it will use the right name for that language/country.

    With toLocaleStringapi you have to pass in the locale and options each time. If you are going do use the same locale info and formatting options on multiple different dates, you can use Intl.DateTimeFormat instead:

    const formatter = new Intl.DateTimeFormat('fr', { month: 'short' });
    const month1 = formatter.format(new Date());
    const month2 = formatter.format(new Date(2003, 5, 12));
    console.log(`${month1} and ${month2}`); // current month in French and "juin".

    For more information see my blog post on the Internationalization API.

提交回复
热议问题