de Python datetime
tiene un método fromtimestamp
para crear un objeto datetime
de una marca de tiempo, pero no proporciona un método para totimestamp
al revés ... Soy consciente de que con algo como time.mktime(x.timetuple())
se puede convertir el objeto datetime
a una marca de tiempo, pero esto parece innecesario complicado para mí, entonces tengo curiosidad por qué no hay un método totimestamp
?¿Por qué la clase python datetime tiene un método 'fromtimestamp', pero no un método 'totimestamp'? clase
Respuesta
Recuerdo un discussion/bug report acerca de esto mientras me preguntaba sobre esto hace algún tiempo. Para resumir: se hicieron muchas propuestas, pero por alguna razón, ninguna ha sido aceptada.
El punto es que creo que mejor resume en this reply:
Mucho han propuesto una solución satisfactoria. Nadie ha encontrado una solución que sea satisfactoria para usted, porque ha restringido demasiado el problema. La razón por la que todavía no tenemos utctotimestamp() después de todos estos años es que usted, y solo hasta donde yo sé, se niega a aceptar un método que invierta utcfromtimestamp() con una precisión de microsegundos sobre su rango de trabajo. Tal método es una solución perfectamente razonable y aceptable y agregaría mucho valor a Python como lenguaje.
Sospecho que no se da cuenta de cuánto dolor ha causado involuntariamente al mundo de los usuarios de Python bloqueando de forma única el progreso en este tema. Los he visto: estudiantes, amigos, compañeros de trabajo; incluso personas muy inteligentes y capaces se sienten frustradas. Nadie piensa en buscar en el módulo de calendario. Tal vez si veías a algunos de ellos luchar con esto, lo entenderías.
El resultado final de esta historia fue que documentation was added sobre cómo hacerlo usted mismo:
# On the POSIX compliant platforms, `utcfromtimestamp(timestamp)` is
# equivalent to the following expression:
datetime(1970, 1, 1) + timedelta(seconds=timestamp)
# There is no method to obtain the timestamp from a `datetime` instance,
# but POSIX timestamp corresponding to a `datetime` instance `dt` can be
# easily calculated as follows. For a naive `dt`:
timestamp = (dt - datetime(1970, 1, 1))/timedelta(seconds=1)
# And for an aware ``dt``::
timestamp = (dt - datetime(1970, 1, 1, tzinfo=timezone.utc))/timedelta(seconds=1)
- 1. Compruebe si una clase tiene un método
- 2. ¿Por qué el lenguaje Python no tiene un método writeln()?
- 3. ¿Por qué @decorator no puede decorar un método estático o un método de clase?
- 4. Método declarado en Clase pero no definido
- 5. ¿Por qué un descriptor python __get__ método acepta la clase owner como un arg?
- 6. Método de clase Python Wrap
- 7. AttributeError: La instancia de clase no tiene el método __call__
- 8. ¿Por qué el método "propio" de módulo no puede convertirse en un método único de clase?
- 9. Descubre qué clase llamó a un método en otra clase
- 10. ¿Por qué no hay un método getContentView() para la actividad?
- 11. ¿Por qué ObservableCollection no tiene un método RemoveAll?
- 12. ¿Por qué XElement no tiene un método GetAttributeValue?
- 13. ¿Por qué se llama al método de clase base si la clase derivada anula el método?
- 14. Decorar un método que ya es un método de clase?
- 15. ¿Por qué java.io.File no tiene un método close()?
- 16. Ampliando un método de clase base
- 17. Método python __init__ en la clase heredada
- 18. C++, la clase como parámetro a un método, no template
- 19. ¿Qué sentido tiene declarar un método estático en una clase no estática?
- 20. `fromtimestamp` de Python hace un salto discreto
- 21. ¿Por qué Iterator tiene un método contains pero Iterable no, en Scala 2.8?
- 22. python3: vincular el método a la instancia de clase con .__ get __(), funciona, pero ¿por qué?
- 23. ¿Puede un método en una clase interna acceder a un método de clase padre?
- 24. ¿Por qué no hay un método Convert.toFloat()?
- 25. ¿Por qué la clase Date de Ruby se carga automáticamente pero DateTime no?
- 26. ¿Por qué toBinaryString no es un método de instancia en la clase Integer?
- 27. ¿por qué no hay un método Center() para la clase Rectangle en C#?
- 28. El método tiene que ser anulado pero no es abstracto
- 29. Cómo sobrescribir un método en Java, pero aún tiene una funcionalidad parcial del método principal
- 30. La llamada al método Spring @Transaction por el método dentro de la misma clase, ¿no funciona?
Véase también http://stackoverflow.com/questions/8022161/python-converting-from-datetime -datetime-to-time-time –
@Sven: Mi pregunta no se trata de pedir métodos para convertirla, sino de querer saber el motivo de la ausencia de dicho método en el módulo 'datetime' ... –
No lo hice No digas que esto es un duplicado. Acabo de vincular información relacionada, que siempre es útil para las personas que acceden a esta página desde Google. –