web-dev-qa-db-fra.com

Moment js obtenir le premier et le dernier jour du mois en cours

Comment puis-je obtenir le premier et le dernier jour et l'heure du mois en cours au format suivant dans moment.js:

2016-09-01 00:00

Je peux obtenir la date et l’heure actuelles comme ceci: moment().format('YYYY-MM-DD h:m') qui sera affiché dans le format ci-dessus.

Cependant, je dois obtenir la date et l'heure du premier et du dernier jour du mois en cours, comment y parvenir?

EDIT: Ma question est différente de this une parce que cela demande un mois donné que l'utilisateur a déjà alors que je demande pour le mois en cours et pour demander un format spécifique de la date qui n'est pas mentionné dans l'autre "duplicata".

88
user3574492

Si quelqu'un a manqué les commentaires sur la question d'origine, vous pouvez utiliser les méthodes intégrées (fonctionne à partir de Moment 1.7):

const startOfMonth = moment().startOf('month').format('YYYY-MM-DD hh:mm');
const endOfMonth   = moment().endOf('month').format('YYYY-MM-DD hh:mm');
246
Ali Yazdani

Il y aurait une autre façon de faire ceci:

var begin = moment().format("YYYY-MM-01");
var end = moment().format("YYYY-MM-") + moment().daysInMonth();
26
Akoya

Vous pouvez le faire sans moment.js

Une façon de faire cela en code Javascript natif:

var date = new Date(), y = date.getFullYear(), m = date.getMonth();
var firstDay = new Date(y, m, 1);
var lastDay = new Date(y, m + 1, 0);

firstDay = moment(firstDay).format(yourFormat);
lastDay = moment(lastDay).format(yourFormat);
25
Kevin Grosgojat

En supposant que vous utilisez un sélecteur de plage de dates pour récupérer les dates. Vous pourriez faire quelque chose comme pour obtenir ce que vous voulez.

$('#daterange-btn').daterangepicker({
            ranges: {
                'Today': [moment(), moment()],
                'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
                'Last 7 Days': [moment().subtract(6, 'days'), moment()],
                'Last 30 Days': [moment().subtract(29, 'days'), moment()],
                'This Month': [moment().startOf('month'), moment().endOf('month')],
                'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
            },
            startDate: moment().subtract(29, 'days'),
            endDate: moment()
        }, function (start, end) {
      alert( 'Date is between' + start.format('YYYY-MM-DD h:m') + 'and' + end.format('YYYY-MM-DD h:m')}
9

moment startOf () et endOf () est la réponse que vous recherchez. Par exemple: -

moment().startOf('year');    // set to January 1st, 12:00 am this year
moment().startOf('month');   // set to the first of this month, 12:00 am
moment().startOf('week');    // set to the first day of this week, 12:00 am
moment().startOf('day');     // set to 12:00 am today
8
SumanP

Première et dernière date du mois en cours dans le moment.js

console.log("current month first date");
    const firstdate = moment().startOf('month').format('DD-MM-YYYY');
console.log(firstdate);

console.log("current month last date");
    const lastdate=moment().endOf('month').format("DD-MM-YYYY"); 
console.log(lastdate); 
0
Jojo Joseph