मेरे वेब एप्लिकेशन में, मेरे पास उपयोगकर्ता एक साधारण टेक्स्टबॉक्स में एक तिथि इनपुट करते हैं। उस इनपुट (निश्चित रूप से स्वच्छ होने के बाद), strtotime() के माध्यम से चलाया जाता है, और 8639 9 उसमें जोड़ा जाता है, ताकि उस टाइमस्टैम्प को दिन के अंत (11:59:59) के अंत में बनाया जा सके। यह नियत तारीख उद्देश्यों के लिए है (इसलिए यदि तारीख से गुजरता है, आवेदन एक झंडा उठाती)14 मार्च 86400 सेकेंड लंबा नहीं?
दिनों मैं परीक्षण किया है, यह काम के लिए ...
5 जनवरी, जनवरी 5 वीं के रूप में सहेजा के अंत में दिन।
मार्च 13 वीं के रूप में मार्च 13 वीं बचाया
मार्च 15 वीं के रूप में मार्च 15 वीं
14 मार्च, जो भी कारण के लिए बचा लिया, के रूप में मार्च 15 वीं खुद को बचा लिया।
14 मार्च रहस्यमय तरीके से कुछ सेकंड छोटा या कुछ है ??
अद्यतन: समाधान के लिए ओज़ी के लिए धन्यवाद - एक आकर्षण की तरह काम किया। कोड के रूप में अनुरोध:
पुराने कोड:
if ($_POST['dateto'] != '') {
$dateto = strtotime(mysql_real_escape_string($_POST['dateto'])) + 86399;
}
नए कोड:
# Offset to "end of day"
list($y,$m,$d) = explode('-',date("Y-m-d",strtotime($_POST['dateto'])));
$d++;
$dateto = strtotime($y . '-' . $m . '-' . $d) - 1;
अपना कोड पोस्ट करें। – Nate
आपके पास शायद दिन/महीना/वर्ष भाग पार्सिंग करने के लिए अधिक भाग्य होगा, इसमें 23:59:59 को जोड़कर और यूनिक्स-स्टाइल टाइमस्टैंप में कनवर्ट करना होगा। – meagar
मार्च के Ides से सावधान रहें! –