¿Cómo convertir un Python datetime
a un Matlab datetnum
?Python datetime to Matlab datenum
Respuesta
para serializar fecha y hora como una cadena, strftime se puede utilizar en el lado de Python:
import datetime
d = datetime.datetime.now()
print (d.strftime("%d-%b-%Y %H:%M:%S"))
Según MatLab docs datenum sabe cómo analizar la misma.
de marcha atrás lo que se hizo here, llegué:
def datetime2matlabdn(dt):
ord = dt.toordinal()
mdn = dt + timedelta(days = 366)
frac = (dt-datetime(dt.year,dt.month,dt.day,0,0,0)).seconds/(24.0 * 60.0 * 60.0)
return mdn.toordinal() + frac
debe trabajar con timedelta.microseconds
también.
En IDLE:
n = datetime.now()
datetime.datetime (2012, 2, 13, 6, 56, 2, 619 000)
datetime2matlabdn (n)
734912.28891203704
En Matlab:
>> datestr (734912,28891203704)
ans = 13-Feb-2012 06:56:02
+1 ligeramente fuera de tema, pero tuve para hacer una conversión similar entre MATLAB 'datenum' y C#' System.DateTime' en una vieja respuesta mía. Además de las diferentes unidades utilizadas internamente, el punto de referencia en el tiempo también estaba desactivado en 366 días: http://stackoverflow.com/a/7558811/97160 – Amro
en realidad 'fechastr (734912.28891203704, 'mmmm dd, aaaa HH: MM: SS. FFF AM ') 'produce' 13 de febrero de 2012 6: 56: 02,000 AM' por lo que no retiene la información de milisegundos \ microsegundos – Jonathan
@jonathan: Gracias. – bavaza
Based en la respuesta de Bavaza - ahora incluyendo microsegundos:
def datetime2matlabdn(dt):
mdn = dt + timedelta(days = 366)
frac_seconds = (dt-datetime.datetime(dt.year,dt.month,dt.day,0,0,0)).seconds/(24.0 * 60.0 * 60.0)
frac_microseconds = dt.microsecond/(24.0 * 60.0 * 60.0 * 1000000.0)
return mdn.toordinal() + frac_seconds + frac_microseconds
- 1. Convertir Matlab Datenum a Datetime
- 2. Python datetime to microtime
- 3. Función más rápida que datenum en MATLAB
- 4. Js Fecha object to python datetime
- 5. Django datefield y timefield to python datetime
- 6. MYSQL - datetime to seconds
- 7. .NET DateTime to String
- 8. Linq to EntityFramework DateTime
- 9. C# DateTime to String Issue
- 10. Bash time to mysql datetime
- 11. TSQL DateTime to DateKey Int
- 12. Parse CIM_DateTime to .Net DateTime
- 13. numpy to matlab interfaz con mlabwrap
- 14. Transformación XSLT formato datetime to date
- 15. Linq-to-SQL y rareza DateTime
- 16. manipulación DateTime dentro de LINQ to Entities
- 17. C# string to DateTime with timezone
- 18. Convirtiendo Epoch to Date en Matlab
- 19. de MATLAB en Python
- 20. Python SqlAlchemy order_by DateTime?
- 21. sobre python datetime tipo
- 22. Incrustar Python en MATLAB
- 23. Python alternative to reduce()
- 24. Mathematica to Python
- 25. Ruby to Python bridge
- 26. Python datetime to XML Formato de marca de tiempo del esquema
- 27. Datetime Python - Siguiente día hábil
- 28. C# DateTime to UTC Hora sin cambiar el tiempo
- 29. T-SQL: ¿cambio del tipo de datos datetime to date?
- 30. str to time en python
¿Realmente quiere decir convertir un objeto en un idioma a un objeto en otro? Si es así, ¿qué interfaz está usando (PyMat?) ¿O quiere decir cómo se imprime un objeto datetime en un formato particular? –
@DavidRobinson - no, me refiero a la representación textual de 'datenum' que Matlab sabe leer. cosas como '732399.65465' donde a la izquierda está el día gregoriano desde 1/1/1 (o 1/1/0 ?!) y a la derecha está la fracción de un día – Jonathan