जवाबों:
कैसा रहेगा...
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy"];
//Optionally for time zone conversions
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];
NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance];
//unless ARC is active
[formatter release];
स्विफ्ट 4.2:
func stringFromDate(_ date: Date) -> String {
let formatter = DateFormatter()
formatter.dateFormat = "dd MMM yyyy HH:mm" //yyyy
return formatter.string(from: date)
}
init
साथ प्रयोग न करें NSDateFormatter
। इसे iOS 3.2 के बाद हटा दिया गया था । (और यदि आप इसके बजाय एक वर्ग विधि का उपयोग करते हैं, तो यह ऑटोरेलिज़ होगा और आपको रिसाव की समस्या भी नहीं होगी।)
init
कई स्थानों पर सुझाव देता है।
मुझे नहीं पता कि हम सब कैसे चूक गए: स्थानीयकृत स्ट्रिंगफ्रॉमडेट: तारीख: समय: समय:
NSString *dateString = [NSDateFormatter localizedStringFromDate:[NSDate date]
dateStyle:NSDateFormatterShortStyle
timeStyle:NSDateFormatterFullStyle];
NSLog(@"%@",dateString);
आउटपुट '13 / 06/12 00:22:39 GMT + 03: 00 '
NSDate
वेब पर कई हेल्पर्स हैं, मैं उपयोग करता हूं:
https://github.com/billymeltdown/nsdate-helper/
नीचे पढ़ें विवरण:
NSString *displayString = [NSDate stringForDisplayFromDate:date];
यह निम्न प्रकार के आउटपुट का उत्पादन करता है:
‘3:42 AM’ – if the date is after midnight today
‘Tuesday’ – if the date is within the last seven days
‘Mar 1’ – if the date is within the current calendar year
‘Mar 1, 2008’ – else ;-)
स्विफ्ट में:
var formatter = NSDateFormatter()
formatter.dateFormat = "yyyy"
var dateString = formatter.stringFromDate(YourNSDateInstanceHERE)
NSDateFormatter *dateformate=[[NSDateFormatter alloc]init];
[dateformate setDateFormat:@"yyyy"]; // Date formater
NSString *date = [dateformate stringFromDate:[NSDate date]]; // Convert date to string
NSLog(@"date :%@",date);
यदि आपके पास NSDate
-descriptionWithCalendarFormat:timeZone:locale:
उपलब्ध नहीं है (मुझे विश्वास नहीं है कि iPhone / कोको टच में यह शामिल है) तो आपको कुछ सी-स्टाइल स्ट्रिंग्स के साथ स्ट्रैफ़ाइम और बंदर का उपयोग करने की आवश्यकता हो सकती है। आप एक NSDate
उपयोग से UNIX टाइमस्टैम्प प्राप्त कर सकते हैं NSDate -timeIntervalSince1970
।
+(NSString*)date2str:(NSDate*)myNSDateInstance onlyDate:(BOOL)onlyDate{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
if (onlyDate) {
[formatter setDateFormat:@"yyyy-MM-dd"];
}else{
[formatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
}
//Optionally for time zone conversions
// [formatter setTimeZone:[NSTimeZone timeZoneWithName:@"..."]];
NSString *stringFromDate = [formatter stringFromDate:myNSDateInstance];
return stringFromDate;
}
+(NSDate*)str2date:(NSString*)dateStr{
if ([dateStr isKindOfClass:[NSDate class]]) {
return (NSDate*)dateStr;
}
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];
NSDate *date = [dateFormat dateFromString:dateStr];
return date;
}
बस इस एक्सटेंशन को जोड़ें:
extension NSDate {
var stringValue: String {
let formatter = NSDateFormatter()
formatter.dateFormat = "yourDateFormat"
return formatter.stringFromDate(self)
}
}
तेजी से 4 जवाब
static let dateformat: String = "yyyy-MM-dd'T'HH:mm:ss"
public static func stringTodate(strDate : String) -> Date
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = dateformat
let date = dateFormatter.date(from: strDate)
return date!
}
public static func dateToString(inputdate : Date) -> String
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = dateformat
return formatter.string(from: inputdate)
}
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:myNSDateInstance];
NSInteger year = [components year];
// NSInteger month = [components month];
NSString *yearStr = [NSString stringWithFormat:@"%ld", year];
उदाहरण के लिए अपनी तिथि आवश्यक दिनांक प्रारूप प्रारूप के लिए अपनी स्वयं की उपयोगिता को परिभाषित करें।
NSString * stringFromDate(NSDate *date)
{ NSDateFormatter *formatter
[[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM ∕ dd ∕ yyyy, hh꞉mm a"];
return [formatter stringFromDate:date];
}
यह तेज प्रारूप है:
func dateFormatterWithCalendar(calndarIdentifier: Calendar.Identifier, dateFormat: String) -> DateFormatter {
let formatter = DateFormatter()
formatter.calendar = Calendar(identifier: calndarIdentifier)
formatter.dateFormat = dateFormat
return formatter
}
//Usage
let date = Date()
let fotmatter = dateFormatterWithCalendar(calndarIdentifier: .gregorian, dateFormat: "yyyy")
let dateString = fotmatter.string(from: date)
print(dateString) //2018