Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Noxware en 28 Septiembre 2014, 00:39 am



Título: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: Noxware en 28 Septiembre 2014, 00:39 am
hola, estoy haciendo un programa q organize mis cosas de estudio para no tener q andar usando un pizarron q de por si me da flojera borrar -.-

mi problema es q necesito saber q dia de la semana es (si es lunes o martes, etc).... mi programa ya puede obtener la fecha pero necesito q mi programa sepa q dia de la semana es...... espero una solucion cualquiera q sea.... por cierto estoy usando el "Gtk.Calendar" para el almanque por si les sirve de dato adcional aunque cualquier solucion sirve :P


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: Eleкtro en 28 Septiembre 2014, 01:36 am
Puedes utilizar el módulo Datetime:

Código
  1. import datetime, locale
  2.  
  3. locale.setlocale(locale.LC_ALL, 'Spanish_Spain.1252')
  4.  
  5. print datetime.datetime.strptime('28-09-2014', '%d-%m-%Y').strftime('El dia es: %A')

Fecha '28-09-2014', día:
(http://i.imgur.com/rQpTfnT.png)


8.1.7. strftime() and strptime() Behavior (https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior)

Saludos.


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: tincopasan en 28 Septiembre 2014, 02:26 am
yo lo hacía así:

Código
  1. import datetime
  2. x = datetime.datetime.now()
  3.  
  4. dicdias = {'MONDAY':'Lunes','TUESDAY':'Martes','WEDNESDAY':'Miercoles','THURSDAY':'Jueves', \
  5. 'FRIDAY':'Viernes','SATURDAY':'Sabado','SUNDAY':'Domingo'}
  6. anho = x.year
  7. mes =  x.month
  8. dia= x.day
  9.  
  10. fecha = datetime.date(anho, mes, dia)
  11. print (dicdias[fecha.strftime('%A').upper()])



[MOD]: Utiliza el botón para insertar las etiquetas de código, no te las inventes // codigo ... :P


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: Noxware en 28 Septiembre 2014, 03:53 am
Eleкtro tu respuesta me dice q es domingo en lugar de sabado en cambio la respuesta de tincopasan me funciona a la perfeccion, gracias



me podrias explicar el codigo tincopasan, es q yo nunca uso cosas complejas (siempre voy por el camino dificil usando lo basico)


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: Eleкtro en 28 Septiembre 2014, 04:19 am
Es que el día 28 es Domingo, prueba a asignar el Locale correcto a tu pais/zona horaria:

Código:
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'Spanish_Spain.1252'

O también puedes dejar el parámetro vacio en el código para asignarlo automaticamente
Código
  1. locale.setlocale(locale.LC_ALL, "")

Saludos!


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: daryo en 28 Septiembre 2014, 04:31 am

Código
  1. locale.setlocale(locale.LC_ALL, "")
es mejor en caso de que se ejecute en un pc de otro pais no va a servir con el spain

edito:

Código
  1. import datetime
  2. x = datetime.datetime.now()
la fecha actual te queda en la variable x con hora fecha y segundos

puedes hacer un print x
y te dara la fecha

puedes dividir la fecha en:
Código
  1. x.year #es el anioo en ingles
x.moth el mes y asi muy simple
Código:
fecha = datetime.date(anho, mes, dia)
le da formato a la fecha
año-mes-dia

Código
  1. fecha.strftime('%A')
te devuelve el nombre del dia lunes martes etc pero en ingles asi que le asignamos un valor en
https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior

español en un diccionario
Código
  1. dicdias={'MONDAY':'Lunes','TUESDAY':'Martes','WEDNESDAY':'Miercoles','THURSDAY':'Jueves', \
  2. 'FRIDAY':'Viernes','SATURDAY':'Sabado','SUNDAY':'Domingo'}

y se imprime el valor resultante el upper lo pone en minusculas
Código
  1. print (dicdias[fecha.strftime('%A').upper()])]


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: tincopasan en 28 Septiembre 2014, 05:51 am
Al Mod:
              no tengo la menor idea cual es el botón para ingresar las líneas de código!


Título: Re: [AYUDA][PYTHON] Como saber dia de la semana
Publicado por: Eleкtro en 28 Septiembre 2014, 06:13 am
Al Mod:
              no tengo la menor idea cual es el botón para ingresar las líneas de código!

Mira mi firma.

saludos