`

NSDateFormatter

阅读更多

Formatter Styles:

 

NSDateFormatterNoStyle,

NSDateFormatterShortStyle,

NSDateFormatterMediumStyle,

NSDateFormatterLongStyle,

NSDateFormatterFullStyle.

 

 

// assume default behavior set for class using
// [NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter =
        [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSDate *date =
        [NSDate dateWithTimeIntervalSinceReferenceDate:118800];
NSString *formattedDateString = [dateFormatter stringFromDate:date];
NSLog(@"formattedDateString for locale %@: %@",
        [[dateFormatter locale] localeIdentifier], formattedDateString);
// Output: formattedDateString for locale en_US: Jan 2, 2001

 

 

 

Associating a Formatter With a Cell(给你个单元指定格式)

 

To create a formatter object programmatically and attach it to a cell, you allocate an instance of the formatter and set its format or style as you wish. You then use the NSCell setFormatter: method to associate the formatter instance with a cell. For example, the following Objective-C code creates an instance of NSNumberFormatter, sets its formatting for positive, zero, and negative values, and applies it to the cell of an NSTextField object using the setFormatter: method.

 

NSNumberFormatter *numberFormatter =
    [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setFormat:@"$#,###.00;0.00;($#,##0.00)"];
[[textField cell] setFormatter:numberFormatter];

 

 

Similarly you can create an instance of NSDateFormatter (or NSGregorianDateFormatter for Java) object programmatically. The following example creates a date formatter with the format string %b %1d %Y (to give a date format like “Jan 2 2001”) and then associates the formatter with the cells of a form (contactsForm).

 

 

NSDateFormatter *dateFormat = [[NSDateFormatter alloc]
         initWithDateFormat:@"%b %1d %Y" allowNaturalLanguage:NO];
[[contactsForm cells] makeObjectsPerformSelector:@selector(setFormatter:)
         withObject:dateFormat]

 

 

 

 

Note that instances of formatter objects are immutable. In addition, when a cell with a formatter object is copied, the new cell retains the formatter object instead of copying it.

The value (that you retrieve using the method objectValue) of a cell (NSCell) is represented by an object, which in the number formatter code example above is a number object. In Java, it would be a java.lang.Number object, and in Objective-C, using Mac OS X version 10.0 behavior it would be a NSDecimalNumber object, using Mac OS X v10.4 behavior it would be by default a NSNumber object. In the case of the NSDateFormatter code example above, the cell’s value would be, either NSCalendarDate and NSGregorianDate, for Objective-C and Java respectively

When the cell needs to display or edit its value, it passes its object to the formatter which returns the formatted string. When the user enters a string, or when a string is programmatically written in a cell (using setStringValue), the cell obtains the corresponding object from the formatter.

分享到:
评论

相关推荐

    swift-NSDate总结NSDateFormatter总结

    `NSDateFormatter`则用于将`NSDate`对象转换为可读的字符串格式,或者从用户输入的字符串解析出`NSDate`对象。`NSCalendar`则是用来处理日期和时间计算,如比较、转换和提取日期元素的关键工具。在这个Swift项目中,...

    NSDateFormatter性能优化

    在iOS和macOS开发中,`NSDateFormatter`是处理日期和时间格式化的重要类,它允许我们将日期对象转换为字符串,反之亦然。然而,由于`NSDateFormatter`对象的创建和初始化过程相对昂贵,频繁地创建和销毁实例会导致...

    ESLocale:这个库包含帮助类来生成正确格式的 NSLocale、NSDateFormatter 和 NSCalendar 对象

    这个库包含帮助类来生成正确格式的 NSLocale、NSDateFormatter 和 NSCalendar 对象。 此类对象需要解析来自 Web 服务的数据,因为当前语言环境可能与远程服务语言环境不匹配。 它还包含自定义 SQLite 函数以在查询中...

    nsdateformatter.com:nsdateformatter.com的源代码。 使用蒸气使用Swift构建。 托管在Heroku

    有关DateFormatter的有用参考( NSDateFormatter )。 包括用于实时格式化任意日期和格式的表格,以及基于当前日期的预先计算的参考表。 在Linux上使用Swift 4.2构建。 要了解有关使用DateFormatter更多信息,请...

    iOS NSdate 时间转换

    5. 在`DateHelper`类中,实现`NSDateFormatter`的相关方法,如`stringFromDate:`和`dateFromString:`,这些方法使用`sharedInstance`中的`NSDateFormatter`实例。 例如: ```swift import Foundation class ...

    ios开发记录

    状态栏20键盘高度216导航44 最少2位 补0 // UIColor *color2 = [[UIColor alloc] initWithRed:0 green:1 blue:0 alpha:1]; // button setTitle:@"点我吧" forState:UIControlStateNormal]; // [button addTarget:...

    cocoa日期格式

    1. 初始化NSDateFormatter对象:通过`[[NSDateFormatter alloc] init]`创建实例,并设置其locale、calendar、timeZone属性以确保日期格式的准确性。 2. 设置日期和时间样式:使用`setDateFormat:`方法设定自定义的...

    新手入门常用的iPhone代码

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy/MM/dd HH:mm:ss"]; NSString *formattedDate = [formatter stringFromDate:today]; ``` 通过设置不同的日期格式,...

    NSString处理时间里面月份含零

    1. 创建`NSDateFormatter`实例:首先,我们需要创建一个`NSDateFormatter`对象,通过它来设置日期和时间的格式。例如: ```swift let dateFormatter = NSDateFormatter() ``` 2. 设置日期格式:为了让月份始终显示...

    DemoTimeDate

    `NSDateFormatter`可以设置日期和时间的格式,例如"yyyy-MM-dd HH:mm:ss",然后使用`stringFromDate:`方法将`NSDate`转换为`NSString`,或者用`dateFromString:`方法反向转换。 接着,我们来看`NSString`到`NSDate`...

    NSDate时间

    在实际开发中,`NSDate`常常与`NSDateFormatter`、`NSTimeInterval`、`NSCalendar`和`NSTimeZone`一起使用,以满足各种日期和时间的处理需求。理解并熟练掌握这些知识点对于编写高效、功能完善的iOS和macOS应用至关...

    面试题第3篇1

    日期和时间的处理可以使用 NSDate 和 NSDateFormatter 类来实现。在上面的代码中,我们可以看到使用 NSDateFormatter 将字符串时间转换为 NSDate 对象,并输出到控制台。 首先,我们需要创建一个 NSDateFormatter ...

    ios-KSDatePicker.zip

    NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd"]; [sender setTitle:[formatter stringFromDate:currentDate] forState:UIControlStateNormal]; }...

    NSDate,iphone显示时间,日期的方法集合

    `NSDateFormatter`类在这里扮演了关键角色,它可以将日期字符串转换为`NSDate`对象,反之亦然。例如,如果你有一个形如"2023-04-07 15:30:00"的日期字符串,你可以这样转换: ```swift let dateString = "2023-04-...

    ios-时间格式转换.zip

    在iOS中,Apple提供了Foundation框架,其中`NSDate`、`NSCalendar`、`NSDateFormatter`和`NSTimeZone`是进行时间处理的核心类。`NSDate`表示一个绝对时间,而`NSCalendar`则用来处理日历相关的计算,如日期间隔、...

    iOS时间戳字符串NSDate转化demo.zip

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSDate *date = [formatter dateFromString:timestampString]; NSTimeInterval timestamp = [date ...

    ios应用源码之获取全球当前所有时区的当前时间testtimezone 20181210

    `NSDateFormatter`允许我们设置日期和时间的格式,如"yyyy-MM-dd HH:mm:ss",并可以设定输出的时区。 6. **源码解析**: 项目中的源码可能包含了以下步骤: - 定义一个循环,遍历所有时区ID。 - 对每个时区ID,...

    ios-系统自带的日期选择控件.zip

    我们需要至少两个`NSDateFormatter`实例,一个用于将日期转换成用户可读的字符串显示在选择器中,另一个用于将选择器选中的字符串转换回`NSDate`对象以便进一步处理。 接下来,我们需要填充选择器的数据。对于日期...

    IOS UIDatePicker Demo

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm"; // 设置日期格式 NSString *selectedDateString = [formatter stringFromDate:selectedDate]; // 将...

Global site tag (gtag.js) - Google Analytics