5
votes

Comment convertir une date javascript en date carbone?

J'ai besoin de convertir la date javascript en date Carbon. Je veux filtrer les enregistrements par mois et par année uniquement.

 $date  = Javascript Date to Carbon Date? 
 $logs =  $logs->whereBetween('created_at', [$date->startOfMonth(), $date->endOfMonth()]); 

Merci d'avance.


1 commentaires

Pouvez-vous fournir des exemples de données d'entrée et d'éventuels messages d'erreur qui ont été générés par toute tentative que vous avez essayée jusqu'à présent? Veuillez modifier votre question pour contenir ces informations


3 Réponses :


5
votes

Difficile à deviner sans la sortie de date JS, mais vous pouvez essayer avec

Carbon::createFromFormat('Y-m-d H:i:s', $date);

Si cela échoue, vous devez formater votre date JS puis utiliser

Carbon::parse($date);


4 commentaires

Mon 21 janvier 2019 16:07:31 GMT + 0530 (heure normale de l'Inde) js Format de date


obtention d'une erreur avec le code ci-dessus "DateTime :: __ construct (): échec de l'analyse de la chaîne de temps (stpm31 Jpm1 01 2011 00:00:00 16JanIST + 0530 (012108pm st31pm121pmMon, 21 Jan 2019 16:08:37 +053021 IST0801Asia / Kolkata)) à la position 0 (s): le fuseau horaire est introuvable dans la base de données "


Est-ce la sortie JS? quelle erreur? Vous essayez de dd () dans votre contrôleur? quelle sortie?


oui j'ai essayé d'ajouter dd. Et l'erreur est Echec de l'analyse de la chaîne de temps (stpm31 Jpm1 01 2011 00:00:00 16JanIST + 0530 (012108pm st31pm121pmMon, 21 Jan 2019 16:08:37 +053021 IST0801Asia / Kolkata)) à la position 0 (s)



1
votes

Vous pouvez utiliser cette approche où new Date () est comme Sam 24 août 2019 20:36:26 GMT + 0600 (heure normale du Bangladesh)

en premier utilisez la fonction JavaScript suivante pour analyser new Date ()

Carbon::createFromFormat('d-m-Y', $data['enddate']);

La sortie sera "24-7-2019"

puis utilisez Carbon createFromFormate comme

   function datefilter(date){
            let month = date.getMonth();
            let year = date.getFullYear();
            let day = date.getDate();
            return day+'-'+month + '-' + year;
    }
    datafilter(new Date());

Je suppose que la sortie restera la même "24-7-2019" p>


0 commentaires

1
votes

Commencez par convertir js Date en dmy ou ymd

    Carbon\Carbon::createFromFormat('d-m-Y', $date);
or 
    Carbon\Carbon::createFromFormat('Y-m-d', $date);

Convertissez maintenant la date en date carbone:

var date = new Date();let current_datetime = new Date()
let formatted_date = current_datetime.getDate() + "-" + (current_datetime.getMonth() + 1) + "-" +current_datetime.getFullYear();

// votre format de date formaté ici createFromFormat (formatted_date_format, $ date);


0 commentaires