Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada cara untuk mengonversi beberapa format tanggal menjadi python datetime

Gunakan dateutil pihak ketiga perpustakaan:

>>> from dateutil import parser
>>> parser.parse("August 2, 2008")
datetime.datetime(2008, 8, 2, 0, 0)
>>> parser.parse("04-02-2007")
datetime.datetime(2007, 4, 2, 0, 0)
>>> parser.parse("May 2014")
datetime.datetime(2014, 5, 6, 0, 0)

Mengonversi ke format yang diperlukan:

>>> parser.parse("August 2, 2008").strftime('%Y-%m-%d')
'2008-08-02'
>>> parser.parse("04-02-2007").strftime('%Y-%m-%d')
'2007-04-02'
>>> parser.parse("May 2014").strftime('%Y-%m-%d')
'2014-05-06'

Anda dapat menginstalnya dengan pip:

pip install python-dateutil

Lihat juga:

>>> parser.parse("May 2014")
datetime.datetime(2014, 5, 6, 0, 0)
>>> # As you wanted day to be 0 and that is not valid
...
>>> datetime.datetime(2014, 5, 0, 0, 0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
>>> # Workaround:
...
>>> from datetime import datetime
>>> datedefault = datetime.now().replace(day=1, hour=0, minute=0, second=0, microsecond=0)
>>> parser.parse("May 2014",default=datedefault).strftime('%Y-%m-%d')
'2014-05-01'

Jika hari tidak ditentukan dalam string tanggal dan juga tidak ada default yang ditentukan, itu akan mengambil hari ini. Sejak hari ini 06 Aug 2016 , itu menggantikan hari menjadi 0 di bagian pertama jawaban untuk "May 2014" .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menguji pernyataan Pembaruan SQL sebelum menjalankannya?

  2. Mengapa INNER JOIN tidak sama (!=) hang selamanya

  3. Bagaimana meningkatkan kinerja INSERT pada tabel MySQL yang sangat besar

  4. MySQL SELECT paling sering menurut grup

  5. Kekurangan mengutip bilangan bulat dalam kueri Mysql?