亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

日期時間格式顯示錯誤的日期

日期時間格式顯示錯誤的日期

PHP
ABOUTYOU 2022-06-11 10:00:22
我遇到了一個奇怪的問題,它正在破壞發票腳本。我的付款日期是 2019 年 8 月 31 日,然后此人將在每周的同一天付款,這意味著這將是每個星期六。但是,當我使用 l 格式化時將其作為新的 DateTime 對象輸入時,它會顯示星期天。PHP 是 7.1$fpd = new DateTime( date( 'Y-m-d 00:00:00', strtotime( '2019-08-31' ) ) );var_dump( $fpd ); // returns 2019-08-31 00:00:00.000000 in the date sectionecho $fpd->format( 'l' ); returns Sunday這是怎么回事?這只是我的嗎?如果我格式化日期以顯示我得到的日期(假設 $fpd 如上所述)echo $fpd->format( 'g:ia \o\n l jS F Y' ); returns 12:00am on Sunday 1st September 2019如此困惑,8 月 31 日的 0h0m 怎么會晚 24 小時?謝謝編輯:我應該指出我正在使用 WAMP64 并且在英國。我嘗試使用 php 7.0 但結果相同,php 5.6 不是一個選項,因為代碼是 php 7 兼容的。我嘗試只使用“Ymd”,但無論如何它可以節省 DateTime 對象中的時間$fpd = {DateTime)[3]date => "2019-08-31 00:00:00.000000",timezone_type => {int}3,timezone => "Europe/London"$fpd->format( 'l' ) still shows Sunday進一步編輯:將上述代碼中的(字符串)更正為 var_dump。在自己的 test.php 文件中運行這個獨立的工作并將日期顯示為星期六,但它使用 UTC 時區。
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

這將返回星期六 (Php 7.3) 測試


<?php

 $fpd = new DateTime( date( 'Y-m-d', strtotime( '2019-08-31' ) ) ); 

 echo $fpd->format( 'l' );

 echo $fpd->format( 'l' ); //returns Sunday

 echo $fpd->format( 'g:ia \o\n l jS F Y' );

 ?>


查看完整回答
反對 回復 2022-06-11
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

所以結果證明數學是錯誤的,因為今天是在時鐘改變之后。我在整個過程中刪除了任何時間,代碼現在可以正常工作。感謝@davidev 和@Tschallacka 為我指明了正確的方向



查看完整回答
反對 回復 2022-06-11
  • 2 回答
  • 0 關注
  • 196 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號