Comments (3)
Yes, you guessed right!
Anyway... is there any built-in isValid
method?
Something to use in order to verify that a date is valid like:
$date = Carbon::createFromFormat('Y-m-d', '0000-00-00');
$date->isValid() ? $date->day : Carbon::now()->day;
Thanks
from carbon.
You get the same thing if you do var_dump(DateTime::createFromFormat('Y-m-d', '0000-00-00'));
which is the base implementation.
Since the valid month and day values are from 1 - 12 and 1 - 31 I think it is setting the month and day to current'ish values -1. So month is Dec - 1 ... ie Nov. Date is 0 which is invalid so its defaulted to 1 - 1 which would be Dec 1 - 1 ...ie 30. Same thing for year. Just guessing.
You get what you get when you pass in invalid parameters ?!?
http://php.net/manual/en/datetime.createfromformat.php
BTW, it throws an InvalidArgumentException if you do something really bad like Carbon::createFromFormat('Y-m-d', '0000-0-000');
from carbon.
No. If you pass in an invalid date it will throw an InvalidArgumentException :-)
Your date is valid, not commonly used, but valid none the less. -0001 is just 1 year BC.
http://en.wikipedia.org/wiki/Gregorian_calendar#Proleptic_Gregorian_calendar
For dates before the year 1, unlike the proleptic Gregorian calendar used in the international standard ISO 8601, the traditional proleptic Gregorian calendar (like the Julian calendar) does not have a year 0 and instead uses the ordinal numbers 1, 2, … both for years AD and BC. Thus the traditional time line is 2 BC, 1 BC, AD 1, and AD 2. ISO 8601 uses astronomical year numbering which includes a year 0 and negative numbers before it. Thus the ISO 8601 time line is −0001, 0000, 0001, and 0002.
from carbon.
Related Issues (20)
- Serialization of 'Closure' is not allowed HOT 2
- Invalid CarbonInterval->format() results for Carbon 3 (unknown). HOT 8
- It is not possibble to upgrade Symfony 6.4 to 7.0 without upgrading Carbon from 2 to 3 HOT 1
- Carbon::now after Carbon::setTestNow gives incorrect results HOT 1
- Please don't modify existing instances with date arithmetic methods HOT 1
- Unknown or bad timezone (:/etc/localtime) HOT 2
- Carbon::createFromFormat Incorrect Month Output for February HOT 1
- Error parsing date HOT 1
- Unserialize from Carbon v2 objects HOT 1
- Carbon createFromTimestampMs no default time zone if it is set in env variable of Laravel app HOT 1
- `CarbonInterval`'s `days` property return false HOT 2
- [Translation tool] sr_RS@latin
- Date difference problem HOT 5
- isSameDay: Too few arguments HOT 1
- Singular methods without parameters also work with parameters. It should not be as per the documentation. HOT 1
- Inconsistent Date Calculation When Adding Months Across February HOT 5
- Carbon\Carbon::rawAddUnit(): Argument #3 ($value) must be of type int|float, string given HOT 5
- Failed to parse time dd/mm/yyyy using parseFromLocale with Portuguese HOT 1
- Check month issue HOT 1
- PHP Version < 7.4 broken HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from carbon.