2011-02-15 9 views
5

के साथ NSDate को स्ट्रिंग में कनवर्ट करें मैं एनएसडीएटी को एनएसएसटींग में कैसे परिवर्तित करूं, जो स्ट्रैटाइम विनिर्देशों के साथ स्वरूपित है?स्ट्रेटटाइम

उत्तर

5

आप स्ट्रैटाइम का उपयोग कर सकते हैं।

NSDate *date = [NSDate date]; 
time_t time = [date timeIntervalSince1970]; 
struct tm timeStruct; 
localtime_r(&time, &timeStruct); 
char buffer[80]; 
strftime(buffer, 80, "%d.%m.%Y %H:%M:%S", &timeStruct); 
NSString *dateStr = [NSString stringWithCString:buffer encoding:NSASCIIStringEncoding]; 

मुझे आशा है कि यह सही है।

+0

आपने मुझे इसे हराया! +1 – paulbailey

+0

धन्यवाद एक टन! यहां मैं इसका उपयोग कर समाप्त हुआ हूं: https://gist.github.com/cd7b71db01bfa7a4d778 बाहर निकलता है मुझे पता नहीं था कि "time_t time" अभिव्यक्ति सेट नहीं की जानी चाहिए। एक बार फिर धन्यवाद! – smtlaissezfaire

1

setDateFormat: का उपयोग करके आपको NSDateFormatter की आवश्यकता होगी। Here's the documentation

+0

यह स्टाफ़िम स्वरूपण का उपयोग नहीं करता है, हालांकि, क्या यह करता है? – smtlaissezfaire

+1

आप एक उचित बिंदु बनाते हैं; यह strftime स्वरूपण का उपयोग नहीं करता है। चूंकि उद्देश्य सी सी का एक सुपरसेट है, तो आप निश्चित रूप से सीधे स्ट्रैटाइम का उपयोग कर सकते हैं। चूंकि आप एनएसडीएटी से एनएसएसटींग तक जा रहे थे, मुझे लगता है कि आप कोको में सबकुछ रखना पसंद करेंगे। – paulbailey

+0

आईआईआरसी, यदि आप '- [yourFormatter setFormatterBehavior: NSDateFormatterBehavior10_0]' कहते हैं, तो आप स्ट्रैटाइम-स्टाइल स्वरूपण का उपयोग कर सकते हैं। – Wevah