Wrong php date('t')
I have this script
echo 'giorni mese: '.date('t', $mese_start).' - mese start: '.$mese_start;
output is:
giorni mese: 31 - mese start: 11
But november doesn't have 30 days?
What am I missing?
Update:
right, thank you.
php date
add a comment |
I have this script
echo 'giorni mese: '.date('t', $mese_start).' - mese start: '.$mese_start;
output is:
giorni mese: 31 - mese start: 11
But november doesn't have 30 days?
What am I missing?
Update:
right, thank you.
php date
2
$mese_start
is not a timestamp in November.
– Barmar
Nov 14 '18 at 21:26
1
It all depends on what the value of$mese_start
is
– Patrick Q
Nov 14 '18 at 21:26
add a comment |
I have this script
echo 'giorni mese: '.date('t', $mese_start).' - mese start: '.$mese_start;
output is:
giorni mese: 31 - mese start: 11
But november doesn't have 30 days?
What am I missing?
Update:
right, thank you.
php date
I have this script
echo 'giorni mese: '.date('t', $mese_start).' - mese start: '.$mese_start;
output is:
giorni mese: 31 - mese start: 11
But november doesn't have 30 days?
What am I missing?
Update:
right, thank you.
php date
php date
edited Nov 14 '18 at 22:05
alebal
asked Nov 14 '18 at 21:24
alebalalebal
1,268248
1,268248
2
$mese_start
is not a timestamp in November.
– Barmar
Nov 14 '18 at 21:26
1
It all depends on what the value of$mese_start
is
– Patrick Q
Nov 14 '18 at 21:26
add a comment |
2
$mese_start
is not a timestamp in November.
– Barmar
Nov 14 '18 at 21:26
1
It all depends on what the value of$mese_start
is
– Patrick Q
Nov 14 '18 at 21:26
2
2
$mese_start
is not a timestamp in November.– Barmar
Nov 14 '18 at 21:26
$mese_start
is not a timestamp in November.– Barmar
Nov 14 '18 at 21:26
1
1
It all depends on what the value of
$mese_start
is– Patrick Q
Nov 14 '18 at 21:26
It all depends on what the value of
$mese_start
is– Patrick Q
Nov 14 '18 at 21:26
add a comment |
2 Answers
2
active
oldest
votes
The second argument to date()
is a timestamp, which is the number of seconds since 1970-01-01 00:00:00 UTC
. The value of $mese_start
is 11
. So that timestamp is 1970-01-01 00:00:11 UTC
, and January has 31 days.
If you want to use $mese_start
as a month number rather than a timestamp, you can use mktime()
to create a timestamp from a particular date:
$ts = mktime(0, 0, 0, $mese_start);
echo 'giorni mese: '.date('t', $ts).' - mese start: '.$mese_start;
add a comment |
The second argument of date
is interpreted as a Unix timestamp, not a month. You are passing "11" which equals some time on January 1st, 1970. And January has 31 days.
You could either construct a valid timestamp for November or use cal_days_in_month
:
echo cal_days_in_month(CAL_GREGORIAN, 11, 2018); // 30
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53308941%2fwrong-php-datet%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
The second argument to date()
is a timestamp, which is the number of seconds since 1970-01-01 00:00:00 UTC
. The value of $mese_start
is 11
. So that timestamp is 1970-01-01 00:00:11 UTC
, and January has 31 days.
If you want to use $mese_start
as a month number rather than a timestamp, you can use mktime()
to create a timestamp from a particular date:
$ts = mktime(0, 0, 0, $mese_start);
echo 'giorni mese: '.date('t', $ts).' - mese start: '.$mese_start;
add a comment |
The second argument to date()
is a timestamp, which is the number of seconds since 1970-01-01 00:00:00 UTC
. The value of $mese_start
is 11
. So that timestamp is 1970-01-01 00:00:11 UTC
, and January has 31 days.
If you want to use $mese_start
as a month number rather than a timestamp, you can use mktime()
to create a timestamp from a particular date:
$ts = mktime(0, 0, 0, $mese_start);
echo 'giorni mese: '.date('t', $ts).' - mese start: '.$mese_start;
add a comment |
The second argument to date()
is a timestamp, which is the number of seconds since 1970-01-01 00:00:00 UTC
. The value of $mese_start
is 11
. So that timestamp is 1970-01-01 00:00:11 UTC
, and January has 31 days.
If you want to use $mese_start
as a month number rather than a timestamp, you can use mktime()
to create a timestamp from a particular date:
$ts = mktime(0, 0, 0, $mese_start);
echo 'giorni mese: '.date('t', $ts).' - mese start: '.$mese_start;
The second argument to date()
is a timestamp, which is the number of seconds since 1970-01-01 00:00:00 UTC
. The value of $mese_start
is 11
. So that timestamp is 1970-01-01 00:00:11 UTC
, and January has 31 days.
If you want to use $mese_start
as a month number rather than a timestamp, you can use mktime()
to create a timestamp from a particular date:
$ts = mktime(0, 0, 0, $mese_start);
echo 'giorni mese: '.date('t', $ts).' - mese start: '.$mese_start;
answered Nov 14 '18 at 21:29
BarmarBarmar
429k36250352
429k36250352
add a comment |
add a comment |
The second argument of date
is interpreted as a Unix timestamp, not a month. You are passing "11" which equals some time on January 1st, 1970. And January has 31 days.
You could either construct a valid timestamp for November or use cal_days_in_month
:
echo cal_days_in_month(CAL_GREGORIAN, 11, 2018); // 30
add a comment |
The second argument of date
is interpreted as a Unix timestamp, not a month. You are passing "11" which equals some time on January 1st, 1970. And January has 31 days.
You could either construct a valid timestamp for November or use cal_days_in_month
:
echo cal_days_in_month(CAL_GREGORIAN, 11, 2018); // 30
add a comment |
The second argument of date
is interpreted as a Unix timestamp, not a month. You are passing "11" which equals some time on January 1st, 1970. And January has 31 days.
You could either construct a valid timestamp for November or use cal_days_in_month
:
echo cal_days_in_month(CAL_GREGORIAN, 11, 2018); // 30
The second argument of date
is interpreted as a Unix timestamp, not a month. You are passing "11" which equals some time on January 1st, 1970. And January has 31 days.
You could either construct a valid timestamp for November or use cal_days_in_month
:
echo cal_days_in_month(CAL_GREGORIAN, 11, 2018); // 30
answered Nov 14 '18 at 21:30
MarvinMarvin
7,83323238
7,83323238
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53308941%2fwrong-php-datet%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
$mese_start
is not a timestamp in November.– Barmar
Nov 14 '18 at 21:26
1
It all depends on what the value of
$mese_start
is– Patrick Q
Nov 14 '18 at 21:26