2013-08-14 12 views
5

मैं स्टाटा के लिए नया हूं, और मैं सोच रहा हूं कि मैं एक स्ट्रिंग वेरिएबल कैसे बदल सकता हूं जिसमें डेट प्रारूप की तिथि शामिल है।स्टेटः एक स्ट्रिंग वैरिएबल को किसी तारीख में कैसे बदलें?

चर में डेटा इस तरह दिखता है:

yyyy-mm-dd

ताकि Stata आदेश बाद में gen var = date() का उपयोग करने के प्रारूप को पहचान सकते हैं मैं पहली बार डैश को दूर करना चाहिए?

आपकी मदद के लिए धन्यवाद।

+0

क्या आपको आवश्यक उत्तर प्राप्त हुआ? \ –

+0

शब्द "प्रारूप" यहां विश्वासघाती है। तारीखों के लिए एक पैटर्न या शैली के रूप में "yyyy-mm-dd" एक प्रारूप (भावना 1) है। 'प्रारूप' कमांड के साथ स्टाटा के दैनिक दिनांक प्रदर्शन प्रारूप को असाइन करना स्टेटटा की शब्द (भावना 2) की भावना है, लेकिन पर्याप्त नहीं है। दिनांक प्रारूप (समझ 3) का मतलब है कि दैनिक तिथियों को संख्यात्मक रूप से संग्रहीत किया जाता है और 1 जनवरी 1 9 60 के सापेक्ष गिना जाता है। –

उत्तर

8

Stata date समारोह विभाजक वर्ण हटाने के बारे में स्मार्ट है की तरह देखने के लिए here देख सकते हैं। अनुभाग "तिथि समारोह 'के तहत help datetime_translation देखें

अपनी तिथियाँ v1 में और फार्म yyyy-mm-dd में हैं, तो आप आदेशों को निर्दिष्ट कर सकते हैं:

generate v2 = date(v1, "YMD") 
format %td v2 

YMD एक मुखौटा कहा जाता है, और यह बताता है उस क्रम को स्टेटा करें जिसमें दिनांक के भाग निर्दिष्ट हैं। दूसरी पंक्ति वैरा को दैनिक तिथि प्रारूप को आवंटित करेगी, जिसका अर्थ है कि जब आप डेटा में उस चर को देखते हैं, तो यह मानव पठनीय रूप में दिखाया जाएगा। दिनांक 1 जनवरी, 1 9 60 से दिनों की संख्या के रूप में संग्रहीत किया जाता है।

date फ़ंक्शन के साथ प्रयोग करने का सबसे अच्छा तरीका display कमांड का उपयोग करना है। पहली पंक्ति 1 जनवरी 1 9 60 से दिनों की संख्या का प्रतिनिधित्व करने वाला एक पूर्णांक प्रदर्शित करेगी। दूसरी पंक्ति मानव पठनीय प्रारूप में तारीख प्रदर्शित करेगी।

display date("2013-08-14", "YMD") 
display %td date("2013-08-14", "YMD") 
+1

मैंने थोड़ा स्वरूपण की व्याख्या संपादित की है। लोग अक्सर संग्रहीत किए गए परिवर्तन को बदलने के साथ एक प्रदर्शन प्रारूप निर्दिष्ट करने में भ्रमित करते हैं। आपका शब्द अच्छा था, लेकिन मैंने इसे और कड़ा कर दिया है। –

+0

धन्यवाद कि मेरे लिए काम किया! – roland

+0

आप लाइफसेवर हैं !!! – Abramodj

1

आप Stata में डेटा को बदल सकते हैं या कैसे करना है इस

tostring datedx, replace 
generate str4 dxyr1= substr(datedx,1,4) 
generate str2 dxmo1 = substr(datedx,6,7) 
generate str2 dxda1 = substr(datedx,9,10) 
destring dx*, replace 
gen datedx1 = mdy(dxmo1, dxda1, dxyr1) 
+1

ओपी एक स्ट्रिंग चर के साथ शुरू होता है, इसलिए 'टॉस्ट्रिंग' अनावश्यक है, लेकिन हानिरहित है। 'तारीख()' फ़ंक्शन का उपयोग करके, जैसा कि @sechilds के उत्तर में, अधिक प्रत्यक्ष है। –

+0

@ निककॉक्स हां सर –

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