मुझे आश्चर्य है कि मैंने इसे पहले नहीं देखा है। शायद मैं कुछ स्पष्ट देख रहा हूँ :)
हालाँकि आप मेरे लिए एक अलग स्थान का उपयोग कर रहे हैं, आप उसी दिनांक प्रारूप का उपयोग कर रहे हैं जैसा कि मैं यूके, dd / MM / yyyy में करता हूं। मुझे थोड़ी अलग त्रुटि मिलती है (QGIS 2.16.1 पर) लेकिन यह उस तारीख के प्रारूप को पसंद नहीं करता है।
आप अभिव्यक्ति संपादक के फ़ंक्शन संपादक टैब में एक छोटी अजगर स्क्रिप्ट बनाकर इसे प्राप्त कर सकते हैं।
- अभिव्यक्ति संपादक में फ़ंक्शन संपादक टैब में जाएं
- एक नया फ़ंक्शन ("नई फ़ाइल" बटन) बनाएं
- कोड विंडो में निम्नलिखित पेस्ट करें। आपको इंडेंटेशन त्रुटियां हो सकती हैं, इसलिए यदि आवश्यक हो तो मैन्युअल रूप से रिक्त स्थान के साथ इंडेंट करें
- परिवर्तनों को सहेजने के लिए "लोड" बटन पर क्लिक करें
- एक्सप्रेशन टैब पर वापस जाएँ
- अजगर शीर्षक के तहत देखो, अब parse_date_dmy नामक एक समारोह देखना चाहिए
from qgis.core import *
from qgis.gui import *
from PyQt4.QtCore import QDate
@qgsfunction(args="auto", group='Python')
def parse_date_dmy(fromval, feature, parent):
return QDate.fromString(fromval, 'dd/MM/yyyy')
यदि आप QGIS 3. # का उपयोग करते हैं और PyQt4 के बारे में एक त्रुटि प्राप्त करते हैं, तो इसके बजाय PyQt5 का उपयोग करें, अर्थात पंक्ति 3 को इसके साथ बदलें
...
from PyQt5.QtCore import QDate
...
तब आप अपने फ़ील्ड नाम का उपयोग करते हुए, जैसे कोई अभिव्यक्ति दर्ज कर सकते हैं: -
parse_date_dmy("mydate")
यदि सब ठीक है, तो आपको कुछ इस तरह से देखना चाहिए ...