2012-06-20 31 views
5

मैं प्रारूप दिनांकों को पार्स -f% Y-% m-% d या यहाँ तक कि% डी% बी% yxls2csv: गलत तारीख कोशिकाओं कमांड लाइन विकल्प के साथ

लेकिन प्रत्येक तिथि चार साल और एक बाहर आता है दिन की तारीख मैं इनपुट

उदाहरण के लिए

, तारीख 01.06.2012 से आगे -f विकल्प के बिना पार्स करने के बाद के रूप में 2016-06-02 -f के साथ कर रही एक ही परिणाम

कारण क्या है देता है आता है? क्या कोई वर्कअराउंड है, हार्डकोड को छोड़कर और इन 4 साल और 1 दिन वापस निकालें?

मैं xls2csv उपयोग कर रहा हूँ और एक अन्य पार्सर का उपयोग करने जा बहुत महंगा विकल्प

+3

चार साल और एक दिन विंडोज 1 9 00 और मैक 1 9 04 कैलेंडर्स के बीच बिल्कुल अंतर की तरह लगता है। मूल कार्यपुस्तिका के लिए कौन सा कैलेंडर सेट किया गया है? –

उत्तर

2

उपकरण xls2csvSpreadsheet::ParseExcel पुस्तकालय का उपयोग करता है एक पर्ल आवेदन किया जा सकता है (V.B.Wagner द्वारा, डेबियन में catdoc पैकेज के साथ आता है)।

ऐसे पुस्तकालय documentation के आधार पर, ज्ञात समस्याओं में से एक है: Excel दिनांक फ़ील्ड है

  • तो जहां निर्दिष्ट प्रारूप प्रणाली-डिफ़ॉल्ट शॉर्ट तारीख स्थान के लिए के बराबर है , एक्सेल प्रारूप को संग्रहीत नहीं करता है, लेकिन एक आंतरिक प्रारूप में डिफ़ॉल्ट है जो सिस्टम निर्भर है। इन मामलों में ParseExcel दिनांक प्रारूप 'yyyy-mm-dd' का उपयोग करता है।

तो शायद आप Excel फ़ाइल के साथ छेड़छाड़ करते हैं जिसमें उपरोक्त सूचीबद्ध समस्या के कारण दिनांक बनाने की तारीख नहीं है।

2

यह ज्ञात बग है। एक पैच https://www.wagner.pp.ru/cgi-bin/cvstrac/catdoc/tktview?tn=14,4

पर उपलब्ध है। वैसे, xls2csv नामक दो प्रोग्राम हैं, हम catdoc पैकेज से एक के बारे में बात कर रहे हैं, पर्ल प्रोग्राम नहीं।