सवाल सांख्यिकीय PHP स्क्रिप्ट के लिए है, तो के बजाय "पिछले सप्ताह"। फिर सभी उत्तरों और मूल रूप से सवाल गलत है।
- आँकड़े = एक में पिछले हफ्ते वर्तमान में सप्ताह रविवार से सोमवार
- इस हफ्ते को आँकड़े = सप्ताह वर्तमान में चलाने में रविवार से सोमवार
को
चलाने से पहले (या सोमवार से रविवार, इस कैलेंडर के आधार पर कि आप किस कैलेंडर का उपयोग करते हैं, लेकिन PHP में यह एक सप्ताह है)
इसका मतलब है, यह आज से 7 दिनों से कम नहीं है। यह अंतिम या इस सप्ताह नहीं है। तो वर्तमान में चयनित उत्तर सही है और 7 दिन पहले गिना जाता है। परीक्षण के समय, इसकी रविवार, माना जाता है, इसलिए यह सही दिखाता है।
// Selected answer:
$start = strtotime('2 weeks ago');
$finish = strtotime('last week');
// But if today isn't Sunday, you can see the code is wrong:
echo date("d.m.Y", strtotime("1 week ago", strtotime('yesterday')));
// Output: 15.08.2015 00:00:00 - 17.08.2015 00:00:00
सप्ताह के शुरू और सप्ताह के अंत सेट करने के लिए: लेकिन संपादन अब दिनांक के आधार पर, आप समस्या देख सकते हैं। strtotime()
अधिक सामान का समर्थन कर सकता है, इसलिए आप अधिकतर इस उत्तर को बेहतर और अधिक साफ कर सकते हैं।
$today = strtotime('today 00:00:00');
$this_week_start = strtotime('-1 week monday 00:00:00');
$this_week_end = strtotime('sunday 23:59:59');
$last_week_start = strtotime('-2 week monday 00:00:00');
$last_week_end = strtotime('-1 week sunday 23:59:59');
echo date('d.m.Y H:i:s', $today) . ' - Today for example purposes<br />';
echo date('d.m.Y H:i:s', $this_week_start) . ' - ' . date('d.m.Y H:i:s', $this_week_end) . ' - Currently running week period<br />';
echo date('d.m.Y H:i:s', $last_week_start) . ' - ' . date('d.m.Y H:i:s', $last_week_end) . ' - Last week period<br />';
से ऊपर वर्तमान में पैदा करता है:
30.08.2015 00:00 लेकिन अगर आप काम कर रहे कोड और से तर्क का एक अच्छा उदाहरण ...
मेरे प्रस्तावित समाधान मिलता है : 00 - आज उदाहरण के लिए
24.08.2015 00:00:00 - 30.08.2015 23:59:59 - वर्तमान में सप्ताह की अवधि चल रहा है
17.08.2015 00:00:00 - 23.08।2015 23:59:59 - पिछले सप्ताह की अवधि
आंकड़ों के लिए, यह सटीक होना चाहिए और यदि अंत 00:00:00 होगा, तो उस तारीख को गिना जाएगा। और यदि तिथि होगी एक दिन बाद 00:00:00 बजे, तो तिथि सही नहीं है। वहां, कम से कम सांख्यिकीय उद्देश्यों के लिए, यह समाधान ऐसा करने का सही तरीका है।
आपको पता करते हैं कि 'strtotime ('इस सप्ताह') 'वही मान देता है जैसे 'समय()'? –