Needed to store a "rough date" in one of my project, may be useful for otheres.
Execute from shell the following command:
$ composer require mareg/rough-date
Or add "mareg/rough-date": "^1.0"
to your composer.json
:
"require": {
"mareg/rough-date": "^1.0"
},
Create a RoughDate
object from the string:
$roughDate = RoughDate::fromString('May 2005');
echo $roughDate->format();
Or from a DateTime
date object:
$date = new \DateTime();
$roughDate = RoughDate::fromDateTime($date);
echo $roughDate->format();
When creating an object through RoughDate::fromString()
:
Y-m-d
, e.g.2015-02-22
, but also2013-05-00
and2013-00-00
are correctY/m/d
andY.m.d
are acceptedj. M Y
, e.g.13. May 2005
M Y
, e.g.May 1985
Y
, e.g.1978
When calling RoughDate::format()
:
- For a full date output accepts all variables as in date() method
- For other dates only available variables will be substituded and unavailable ones will be removed, e.g.:
- for date
2015-02-00
and formatj M Y
you'll getFeb 2015
- for date
1978-00-00
and formatj M Y
you'll get1978