•  


페이지를 파싱하기 어렵습니다. radar · PyPI Skip to main content

Generate random date(time).

Project description

Random date generation.

Prerequisites

  • Python 2.6.8+, 2.7.+, 3.3.+

Installation

Install latest stable version from PyPI:

$ pip install radar

or install the latest stable version from bitbucket:

$ pip install -e hg+https://bitbucket.org/barseghyanartur/radar@stable#egg=radar

or install the latest stable version from github:

$ pip install -e git+http://github.org/barseghyanartur/radar@stable#egg=radar

Usage and examples

Basic usage

>>> import radar
>>> radar.random_datetime()
datetime.datetime(2013, 5, 24, 16, 54, 52)

Specify date range

You may pass datetime.datetime or datetime.date objects:

>>> import datetime
>>> import radar
>>> radar.random_date(
>>>     start = datetime.datetime(year=2000, month=5, day=24),
>>>     stop = datetime.datetime(year=2013, month=5, day=24)
>>> )
datetime.date(2012, 12, 31)

You may also pass strings:

>>> radar.random_datetime(start='2012-05-24T00:00:00', stop='2013-05-24T23:59:59')
datetime.datetime(2013, 4, 18, 17, 54, 6)

Generate random time

>>> radar.random_time(start='2012-01-01T00:00:00', stop='2012-01-01T23:59:59')
datetime.time(11, 33, 59)

Advanced usage

When strings are passed, by default radar uses python-dateutil package to parse dates. Date parser of the dateutil package is quite heavy, althogh is extremely smart. As an alternative, radar comes with own parser radar.utils.parse , which is much lighter (about 5 times faster compared to dateutil ).

Using built-in parser:

>>> radar.random_datetime(start='2012-05-24T00:00:00', stop='2013-05-24T23:59:59', parse=radar.utils.parse)
datetime.datetime(2012, 11, 10, 15, 43, 40)

Built-in parser parses the dates using formats specified in radar.defaults.FORMATS :

>>> start = radar.utils.parse('2012-01-01')
datetime.datetime(2012, 1, 1, 0, 0)
>>> stop = radar.utils.parse('2013-01-01')
datetime.datetime(2013, 1, 1, 0, 0)

If you want to add more formats, define your own formats and feed them to built-in parser:

>>> MY_FORMATS = (
>>>     ("%d-%m-%YT%H:%M:%S", True),
>>>     ("%d-%m-%Y", False)
>>> )
>>>
>>> def my_parse(timestamp):
>>>     return radar.utils.parse(timestamp, formats=MY_FORMATS)
>>>
>>> radar.random_datetime(start='24-05-2012T00:00:00', stop='24-05-2013T23:59:59', parse=my_parse)
datetime.datetime(2012, 11, 10, 15, 43, 40)

General notes

If you expect to have really weird date formats when generating random dates from strings, you might want to consider installing wonderful python-dateutil package.

When generating thousands of objects (using dateutil or built-in parser), you’re advised to pass date ranges as datetime.datetime or datetime.date objects, rather than passing strings (parsing costs time).

A good example:

>>> start = radar.utils.parse('2000-01-01')
>>> stop = radar.utils.parse('2013-12-31')
>>> for i in xrange(1000000):
>>>     radar.random_datetime(start=start, stop=stop)

See https://bitbucket.org/barseghyanartur/radar/src (example) directory for benchmarks and more examples.

License

GPL 2.0/LGPL 2.1

Support

For any issues contact me at the e-mail given in the Author section.

Author

Artur Barseghyan < artur . barseghyan @ gmail . com >

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

radar-0.3.tar.gz (4.5 kB view hashes )

Uploaded Source

- "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
- "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
- 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
- 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
 한국   대만   중국   일본