2011-10-15 17 views
5

मैं time() का उपयोग कर PHP में टाइम टिकटें बना रहा हूं;यूनिक्स टाइम टिकटों के बीच समय अंतर की गणना कैसे करें?

मेरे पास $current_time और $purchase_time है। मैं कैसे सुनिश्चित करूं कि खरीद_टाइम वर्तमान समय के 24 घंटे से कम है?

उत्तर

6

के बाद से यूनिक्स टाइमस्टैम्प बस कुछ सेकंड के नंबर दिए गए हैं, बस अंतर का उपयोग करें:

$purchasedToday = $current_time - $purchase_time < 24 * 60 * 60; 
if ($purchasedToday) { 
    echo 'You just bought the item'; 
} else { 
    echo 'You bought the item some time ago'; 
} 
+0

धन्यवाद, कि :) – kht

6

वे यूनिक्स टाइमस्टैम्प रहे हैं, तो आप वास्तव में आसान अपने आप से यह गणना कर सकते हैं, जैसा कि वे सेकंड है।

<?php 
if(date("U", strtotime("-24 hours", $current_time) > date("U", $purchase_time)) { 
    echo "More then 24 hours you purchased this radio"; 
} 
?> 

यह काम करता है, भले ही समय स्टाम्प नहीं एक यूनिक्स टाइमस्टैम्प है:

$seconds = $current_time - $purchase_time 
$hours = floor($seconds/3600); 
if ($hours < 24){ 
    //success 
} 
+0

+1 एक बहुत सुरुचिपूर्ण समाधान है कि काम किया। अद्भुत सॉस। – ehime

0

मैं कुछ इस तरह का उपयोग किया था।

2

आप एक DateTime वस्तु का निर्माण और फिर इसे $ CURRENT_TIME और $ purchase_time के बीच अंतर की गणना करने के diff() विधि का उपयोग कर सकते हैं:

$currentTime = new DateTime(); 
$purchaseTime = new DateTime('2011-10-14 12:34:56'); 

// Calculate difference: 
$difference = $currentTime->diff($purchaseTime); 

if ($difference->days >= 1) { 
    echo 'More than 24 hours ago.'; 
} 

के रूप में इस विधि का ख्याल रखता है यह, अंतर की गणना खुद से ज्यादा विश्वसनीय है टाइमज़ोन और डेलाइट सेविंग टाइम।

1

कुछ इस तरह:

$difference=time() - $last_login; 
संबंधित मुद्दे