intervention / zodiac
Zodiac Sign Calculator
Fund package maintenance!
Intervention
Ko Fi
paypal.me/interventionio
Installs: 178 442
Dependents: 0
Suggesters: 0
Security: 0
Stars: 57
Watchers: 1
Forks: 15
Open Issues: 1
pkg:composer/intervention/zodiac
Requires
- php: ^8.2
- illuminate/translation: ^11 || ^12
- nesbot/carbon: ^2.0 || ^3.0
Requires (Dev)
- phpstan/phpstan: ^2
- phpunit/phpunit: ^11.0 || ^12.0
- slevomat/coding-standard: ~8.0
- squizlabs/php_codesniffer: ^3.8
This package is auto-updated.
Last update: 2025-11-18 14:59:09 UTC
README
Intervention Zodiac is a astrological calculator that resolves Western and Chinese zodiac signs from various data types.
Installation
The installation works with Composer by running the following command.
$ composer require intervention/zodiac
Although the library is framework agnostic it comes with a service provider for the Laravel Framework. Which will be discovered automatically and registers the calculator into your installation.
Documentation
Read the full documentation for this library.
Code Examples
Calculator
use Intervention\Zodiac\Calculator; use Intervention\Zodiac\Astrology; use Carbon\Carbon; use DateTime; $sign = Calculator::fromString('2001-01-01'); $sign = Calculator::fromString('2001-01-01', Astrology::CHINESE); // create western calculator $sign = Calculator::western() ->fromString('2001-01-01'); // create chinese calculator $sign = Calculator::chinese() ->fromString('2001-01-01'); // override default $sign = Calculator::western() ->fromString('2001-01-01', Astrology::CHINESE); // pass astrology as a parameter $sign = Calculator::withAstrology(Astrology::CHINESE) ->fromString('2001-01-01'); // override default $sign = Calculator::withAstrology(Astrology::CHINESE) ->fromString('2001-01-01', Astrology::WESTERN); // parse various date formats $sign = Calculator::fromString('first day of june 2014'); $sign = Calculator::fromString('2018-06-15 12:34:00'); $sign = Calculator::fromDate(new DateTime('2001-01-01')); $sign = Calculator::fromDate(Carbon::yesterday()); $sign = Calculator::fromUnix(228268800); $sign = Calculator::fromUnix('228268800');
Sign
use Intervention\Zodiac\Calculator; use DateTime; use Carbon\Carbon; // calculate zodiac sing $sign = Calculator::fromDate($date); $name = $sign->name(); // 'gemini' $html = $sign->html(); // '♊︎' $localized = $sign->localize('fr')->name(); // Gémeaux $compatibility = $sign->compatibility($sign); // .6
Development & Testing
With this package comes a Docker image to build a test suite container. To build this container you have to have Docker installed on your system.
You can run all tests with the following command.
docker-compose run --rm --build tests
Run the static analyzer on the code base.
docker-compose run --rm --build analysis
Authors
This library is developed and maintained by Oliver Vogel
Thanks to the community of contributors who have helped to improve this project.
License
Intervention Zodiac is licensed under the MIT License.