Je veux savoir ce qui suit: étant donné une date ( datetime
objet), quel est le jour de la semaine correspondant?
Par exemple, dimanche est le premier jour, lundi: deuxième jour .. et ainsi de suite
Et puis si l'entrée est quelque chose comme la date d'aujourd'hui.
Exemple
>>> today = datetime.datetime(2017, 10, 20)
>>> today.get_weekday() # what I look for
La sortie est peut-être 6
(puisque c'est vendredi)
int(datetime.datetime.today().strftime('%w'))
Si vous souhaitez avoir la date en anglais:
la source
my_date.strftime('%A')
Si vous souhaitez avoir la date en anglais:
En savoir plus: https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
la source
Utilisez
date.weekday()
oudate.isoweekday()
.la source
datetime
objet (pas undate
objet), je voudrais mentionner que ladatetime
classe arbore la même choseweekday()
et lesisoweekday()
méthodes.J'ai résolu cela pour une question CodeChef .
la source
Une solution sans importation pour les dates postérieures à 1700/1/1
la source
C'est une solution si la date est un objet datetime.
la source
Si vous avez des dates sous forme de chaîne, il pourrait être plus facile de le faire en utilisant l'horodatage des pandas
Production:
la source
La bibliothèque datetime donne parfois des erreurs avec strptime () donc je suis passé à la bibliothèque dateutil. Voici un exemple de la façon dont vous pouvez l'utiliser:
La sortie que vous obtenez de cela est
'Mon'
. Si vous souhaitez que la sortie soit «lundi», utilisez ce qui suit:Cela a fonctionné assez rapidement pour moi. J'avais des problèmes lors de l'utilisation de la bibliothèque datetime car je voulais stocker le nom du jour de la semaine au lieu du numéro du jour de la semaine et le format de l'utilisation de la bibliothèque datetime posait des problèmes. Si cela ne vous pose aucun problème, tant mieux! Si vous l'êtes, vous pouvez définitivement y aller car il a également une syntaxe plus simple. J'espère que cela t'aides.
la source
En supposant que l'on vous donne le jour, le mois et l'année, vous pouvez faire:
la source
strftime("%A")
au lieu deweekday()
Supposons que vous ayez timeStamp: variable de chaîne, YYYY-MM-DD HH: MM: SS
étape 1 : le convertir en fonction dateTime avec le code de coup ...
Étape 2 : Maintenant, vous pouvez extraire toutes les fonctionnalités requises comme ci-dessous, ce qui créera une nouvelle colonne pour chacune des heures, mois, jour de la semaine, année, date
la source
Si vous avez des raisons d'éviter l'utilisation du module datetime, cette fonction fonctionnera.
Remarque: Le changement du calendrier julien au calendrier grégorien est supposé avoir eu lieu en 1582. Si ce n'est pas le cas pour votre calendrier d'intérêt, changez la ligne si année> 1582: en conséquence.
la source
fg
etfj
, à l'intérieur du conditionnel pour éviter des calculs inutiles.Si vous ne dépendez pas uniquement du
datetime
module, celacalendar
pourrait être une meilleure alternative. Ceci, par exemple, vous fournira les codes de jour:Et cela vous donnera le jour lui-même:
Ou dans le style du python, comme une doublure:
la source
Nous pouvons prendre l'aide de Pandas:
Comme mentionné ci-dessus dans le problème, nous avons:
Si vous exécutez cette ligne dans le cahier jupyter, nous avons une sortie comme celle-ci:
En utilisant le jour de la semaine () et le nom de la semaine:
Si vous voulez des jours de la semaine au format numérique, utilisez:
La sortie sera:
Et si vous le voulez comme nom du jour comme dimanche, lundi, vendredi, etc., vous pouvez utiliser:
La sortie sera:
'Friday'
Si vous avez une colonne de dates dans la trame de données Pandas, alors:
Supposons maintenant que si vous avez un cadre de données pandas ayant une colonne de date comme celle-ci: pdExampleDataFrame ['Dates']. Head (5)
Maintenant, si nous voulons connaître le nom du jour de la semaine comme lundi, mardi, ..etc, nous pouvons utiliser
.weekday_name
comme suit:la sortie sera:
Et si nous voulons le nombre entier de jours de semaine de cette colonne Dates, nous pouvons utiliser:
La sortie ressemblera à ceci:
la source
Échantillon de sortie
la source
cela devrait vous donner votre numéro de jour réel - 1 = dimanche, 2 = lundi, etc ...
la source
+1
? Il est courant que la numérotation des semaines en python commence à sundat à 0 et lundi à 1.Pour obtenir du dimanche 1 au samedi 7, voici la solution la plus simple à votre question:
Tous:
Production:
la source
voici comment convertir une liste de dates en date
la source
Utilisation du module Canlendar
la source
Voici mon implémentation python3.
la source
Ci-dessous est le code pour entrer la date au format JJ-MM-AAAA, vous pouvez changer le format d'entrée en changeant l'ordre de '% d-% m-% Y' et aussi en changeant le délimiteur.
la source
utilisez ce code:
la source
import numpy as np
date de déf. (df):
la source