Skip to main content

Easy and readable way to convert dates.

Project description

# Easy_Date #

* https://github.com/ralphavalon/easy_date

* https://pypi.python.org/pypi/easy-date

Let's face it: there's no JodaTime for Python, and dealing with date, datetime, timestamp in Python it's not very readable or easy to understand. Easy_date can convert between str, date, datetime and timestamp easily for you and it is readable.

### Example - String to String ###

```
import easy_date

str_date = '25/12/2014' #%d/%m/%Y
new_str_date = easy_date.convert_from_string(str_date, '%d/%m/%Y', '%m-%d-%Y') # str is default return type
```

**new_str_date** will be **12-25-2014**.

### Installation ###

Install the latest stable release with:

``pip install easy_date``

or

``easy_install -U easy_date``

There are no hard dependencies other than the Python standard library.
It works with Python **2.6+** and **3.x**, but it wasn't tested on previous versions.


### How do I convert dates? ###

#### Can use two ways:

* Using **easy_date**

```
from datetime import date, datetime
import easy_date

str_date = '25/12/2014' #%d/%m/%Y

#convert_from_string(string, current_format, to_format, to_type)

new_str_date = easy_date.convert_from_string(str_date, '%d/%m/%Y', '%m-%d-%Y') # str is default return type

date_time = easy_date.convert_from_string(str_date, '%d/%m/%Y', '%Y-%m-%d', datetime)

timestamp = easy_date.convert_from_string(str_date, '%d/%m/%Y', None, float) # e.g. 1419472800.0

my_date = easy_date.convert_from_string(str_date, '%d/%m/%Y', None, date)

```


* Using **date_converter**

```
from datetime import date, datetime
import date_converter

str_date = '25/12/2014' #%d/%m/%Y

#string_to_string(string, current_format, to_format)
new_str_date = date_converter.string_to_string(str_date, '%d/%m/%Y', '%m-%d-%Y')

#string_to_datetime(string, current_format, to_format)
date_time = date_converter.string_to_datetime(str_date, '%d/%m/%Y', '%Y-%m-%d')

#string_to_timestamp(string, current_format)
timestamp = date_converter.string_to_timestamp(str_date, '%d/%m/%Y')

#string_to_date(string, current_format)
my_date = date_converter.string_to_date(str_date, '%d/%m/%Y')

```

### Available methods ###

* from **easy_date**


```
#Acceptable types: (str, datetime.datetime, datetime.date, float)
convert_from_string(string, current_format, to_format, to_type=str)

#Acceptable types: (str, datetime.datetime, datetime.date, float)
convert_from_datetime(from_datetime, to_format, to_type=str)

#Acceptable types: (str, datetime.datetime, float)
convert_from_date(from_date, to_format, to_type=str)

#Acceptable types: (str, datetime.datetime, datetime.date)
convert_from_timestamp(timestamp, to_format, to_type=str)

```


* from **date_converter**

```
#from datetime.date
date_to_datetime(from_date)
date_to_string(from_date, to_format)
date_to_timestamp(from_date)

#from datetime.datetime
datetime_to_date(from_datetime)
datetime_to_datetime(from_datetime, to_format)
datetime_to_string(from_datetime, to_format)
datetime_to_timestamp(from_datetime)

#from str
string_to_date(string, current_format)
string_to_datetime(string, current_format, to_format=None)
string_to_string(string, current_format, to_format)
string_to_timestamp(string, current_format)

#from float
timestamp_to_date(timestamp)
timestamp_to_datetime(timestamp, to_format=None)
timestamp_to_string(timestamp, to_format)

```

### Development ###

* All tests were executed using Brazil (America/Sao_Paulo) timezone. So, if you're not on this timezone and want to run tests, you can do:

```
sudo ln -fs /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
```

* You can back to your timezone using the same way.
* You can take a look on **travis_setup.sh**.

### Contribution guidelines ###

* Every help or suggestion is welcome.

### License ###

* Code and documentation are available according to the MIT License (see LICENSE.md).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

easy-date-0.1.4.tar.gz (3.0 kB view details)

Uploaded Source

File details

Details for the file easy-date-0.1.4.tar.gz.

File metadata

  • Download URL: easy-date-0.1.4.tar.gz
  • Upload date:
  • Size: 3.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for easy-date-0.1.4.tar.gz
Algorithm Hash digest
SHA256 7d77c78317d35e5775625ced2da26958474516fa703c134ae32f988aa8fac688
MD5 007aa2ce2dfdeccc6b57c6fa6c70607e
BLAKE2b-256 f648af564a057ca1eba7e6e6744d6d9f4876798e12d7ed5de5b8b0124147206c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page