

.. _sphx_glr_gallery_pylab_examples_date_demo_convert.py:


=================
Date Demo Convert
=================





.. image:: /gallery/pylab_examples/images/sphx_glr_date_demo_convert_001.png
    :align: center





.. code-block:: python

    import datetime
    import matplotlib.pyplot as plt
    from matplotlib.dates import DayLocator, HourLocator, DateFormatter, drange
    from numpy import arange

    date1 = datetime.datetime(2000, 3, 2)
    date2 = datetime.datetime(2000, 3, 6)
    delta = datetime.timedelta(hours=6)
    dates = drange(date1, date2, delta)

    y = arange(len(dates)*1.0)

    fig, ax = plt.subplots()
    ax.plot_date(dates, y*y)

    # this is superfluous, since the autoscaler should get it right, but
    # use date2num and num2date to convert between dates and floats if
    # you want; both date2num and num2date convert an instance or sequence
    ax.set_xlim(dates[0], dates[-1])

    # The hour locator takes the hour or sequence of hours you want to
    # tick, not the base multiple

    ax.xaxis.set_major_locator(DayLocator())
    ax.xaxis.set_minor_locator(HourLocator(arange(0, 25, 6)))
    ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))

    ax.fmt_xdata = DateFormatter('%Y-%m-%d %H:%M:%S')
    fig.autofmt_xdate()

    plt.show()

**Total running time of the script:** ( 0 minutes  0.025 seconds)



.. container:: sphx-glr-footer


  .. container:: sphx-glr-download

     :download:`Download Python source code: date_demo_convert.py <date_demo_convert.py>`



  .. container:: sphx-glr-download

     :download:`Download Jupyter notebook: date_demo_convert.ipynb <date_demo_convert.ipynb>`

.. rst-class:: sphx-glr-signature

    `Generated by Sphinx-Gallery <https://sphinx-gallery.readthedocs.io>`_
