2010-02-23 8 views
6

मैं डीबी में एक युग टाइमस्टैम्प के रूप में संग्रहीत दिनांक फ़ील्ड सेट करने के लिए jquery datepicker प्लगइन का उपयोग कर रहा हूं (फ़ील्ड, publ_time , तालिका स्कीमा पर सीधे नक्शे)।jQuery डेटपिकर - मैं तिथि को एक युग टाइमस्टैम्प के रूप में कैसे प्रारूपित कर सकता हूं (सेकेंड में मिलीसेकंड नहीं)

ऐसा लगता है कि डेटपिकर केवल मिलीसेकंड में युग का समर्थन करता है, और सेकंड नहीं। यह बढ़ता जा रहा है कि यह मिली & नैनो सेकंड का समर्थन करता है, लेकिन सेकंड नहीं।

क्या कोई त्वरित कामकाज है?

// Setup datepicker 
$('[name=datepicker-publish_time]').datepicker({ 
    dateFormat : 'mm-dd-yy', 
    altField : '[name=publish_time]', 
    altFormat : '@' 
}); 

संदर्भ:
jQuery Datepicker - http://jqueryui.com/demos/datepicker/#option-defaultDate
jQuery समर्थन दिनांक प्रारूप - http://docs.jquery.com/UI/Datepicker/formatDate

संपादित करें: नीचे एक त्वरित गंदा समाधान है ...

$('[name=datepicker-publish_time]').datepicker({ 
    dateFormat : 'mm-dd-yy', 
    onSelect : function(dateText, inst) 
    { 
     var epoch = $.datepicker.formatDate('@', $(this).datepicker('getDate'))/1000; 

     $('[name=publish_time]').val(epoch); 
    } 
}); 
+1

मुझे एक ही समस्या थी ... आपके समाधान को पोस्ट करने के लिए धन्यवाद। +1 – mpen

उत्तर

2

उपयोग मिलीसेकंड प्रतिनिधित्व और एक पूर्णांक मान प्राप्त करने के लिए parseInt। फिर आप सेकंड प्राप्त करने के लिए 1000 के साथ गुणा कर सकते हैं। डेटपिकर के मूल्य को सीधे लेने के बजाय इसे थोड़ा प्रोसेसिंग की आवश्यकता है।

+0

मुझे इसे अंतिम उपाय विकल्प के रूप में करना होगा। मुझे एक कस्टम कॉलबैक लिखना होगा, जो मैं करने के खिलाफ नहीं हूं लेकिन मुझे आशा है कि एक अभिव्यक्ति है जिसका उपयोग मैं तिथि में कर सकता हूं। उदाहरण के लिए '(@/1000)') –

6

मैं इसे एक उत्तर के रूप में टाइप कर रहा हूं, लेकिन कोई टिप्पणी नहीं है, इसलिए यह याद नहीं किया जाता है: मैं आपके क्लाइंट से कच्चे टाइमस्टैम्प का उपयोग करके अपने डेटाबेस में सामान के मूल्य के रूप में दृढ़ता से सावधानी बरतता हूं जब तक कि आप वास्तव में सुनिश्चित नहीं हैं कि आप यही करना चाहते हैं। आपके ग्राहक आपके सर्वर की तुलना में अलग-अलग समय क्षेत्रों में हो सकते हैं (वास्तव में, आम तौर पर लगभग 96% मौका होता है :-) इसलिए जब वे "2 अप्रैल" चुनते हैं तो यह आपके "अप्रैल 2" के रूप में समाप्त हो सकता है या नहीं डेटाबेस।

कभी-कभी आप ग्राहक समय के चाहते हैं, लेकिन मेरे अनुभव में यह बहुत आम नहीं है।

+0

मुझे एक समान समस्या थी ओपी में मुझे वर्तमान सर्वर समय के खिलाफ डेटपिकर के साथ उपयोगकर्ता द्वारा दर्ज की गई तिथियों की तुलना करने की आवश्यकता है ... टैडपिकर द्वारा लौटाई गई मिलीसेकंड मान को सहेजने के बजाय, क्योंकि मैं डेट स्ट्रिंग (डीडी डी मिमी वाई) रिकॉर्ड करना चाहता था, फिर मैं उस स्ट्रिंग को एक php स्क्रिप्ट पर भेजने के लिए jquery AJAX का उपयोग किया जो इसे यूनिक्स टाइमस्टैम्प सर्वर पक्ष के रूप में प्रस्तुत करता है और उसे वापस कर देता है –

संबंधित मुद्दे

 संबंधित मुद्दे