2015-02-12 8 views
9

parseTime :: ParseTime t => TimeLocale -> String -> String -> Maybe tहास्केल - parseTime: एक तारीख स्ट्रिंग के प्रारूप और वैधता

सत्यापित करने का तरीका इस समारोह की जाँच करता है इसके बारे में प्रारूप यह दूसरा (प्रारूप स्ट्रिंग, उदाहरण के लिए 'YYYY-MM-DD का उपयोग तीसरा तर्क (तारीख स्ट्रिंग) है ')। हालांकि, यह तिथि की वैधता की जांच नहीं करता है - इसके बजाय यह निकटतम वैध तिथि तक चलता है।

import System.Locale 
import Data.Time 
parseTime defaultTimeLocale "%Y-%m-%d" "2015-01-99" :: Maybe Day 

Just 2015-01-31

क्या मैं चाहता हूँ कोई मान्य दिनांक, या त्रुटि मिलती है।

+1

हैक के रूप में आप पार्स सकता/unparse और देखें कि आप अपने स्ट्रिंग वापस मिल:

यह GitHub समस्या ट्रैकर पर अनुरोध करने के लिए एक उत्कृष्ट सुविधा है, तथापि होगा। – chi

+3

धन्यवाद, लेकिन इससे कोई समस्या बढ़ जाती है, उदाहरण के लिए parseTime '2015-1-31' और' 2015-01-31' दोनों के लिए समान मान देता है, इसलिए एक स्ट्रिंग को बदलना होगा। –

उत्तर

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