`
pan_这名还行
  • 浏览: 43693 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Category使用实例,格式化时间

阅读更多
//
//  NSDateCategory.h
//  WebGameIphone
//
//  Created by apple on 12-1-9.
//  Copyright 2012年 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSDate (NSDateCategory)

// 根据格式化样式得到时间字符串
- (NSString *)stringWithFormat:(NSString*)fmt;

// 根据字符串和格式化样式得到时间
+ (NSDate *)dateFromString:(NSString*)str withFormat:(NSString*)fmt;

// 改变时间字符串格式化样式
+ (NSString *)dateStringReplaceFormat:(NSString*)str oldFormat:(NSString*)fmt newFormat:(NSString*)n_fmt;

@end

@implementation NSDate (NSDateCategory)

- (NSString *)stringWithFormat:(NSString *)fmt {
    static NSDateFormatter *fmtter;
    
    if (fmtter == nil) {
        fmtter = [[NSDateFormatter alloc] init];
    }
    
    if (fmt == nil || [fmt isEqualToString:@""]) {
        fmt = @"HH:mm:ss";
    }
    
    [fmtter setDateFormat:fmt];
    
    return [fmtter stringFromDate:self];
}

+ (NSDate *)dateFromString:(NSString *)str withFormat:(NSString *)fmt {
    static NSDateFormatter *fmtter;
    
    if (fmtter == nil) {
        fmtter = [[NSDateFormatter alloc] init];
    }
    
    if (fmt == nil || [fmt isEqualToString:@""]) {
        fmt = @"HH:mm:ss";
    }
    
    [fmtter setDateFormat:fmt];
    
    return [fmtter dateFromString:str];
}

+ (NSString *)dateStringReplaceFormat:(NSString*)str oldFormat:(NSString*)fmt newFormat:(NSString*)n_fmt {
    NSDate *n_date = [NSDate dateFromString:str withFormat:fmt];
    return [n_date stringWithFormat:n_fmt];
}

@end
分享到:
评论

相关推荐

    category练习代码

    开发者常利用Category来扩展其功能,比如添加格式化、验证、搜索等实用方法。例如,我们可以创建一个名为`NSString+Extension`的Category,在其中添加一个检查字符串是否为空的方法`- (BOOL)isEmpty`,方便在代码中...

    iOS时间字符串格式化输出技巧详解

    对于不同格式的时间字符串,我们需要创建多个`NSDateFormatter`实例或提供多个格式化方法。文章中提到创建了`NSDate`的Category,如`NSDate+XHCategory`,并定义了一系列静态方法来处理各种常见格式的时间字符串,...

    mfc使用log4cpp实例

    这个库的核心组件包括Appender(日志输出器)、Layout(日志格式化器)和Category(日志类别)。Appender定义了日志信息的输出目的地,如FileAppender用于将日志写入文件。Layout则决定了日志信息的显示格式,如...

    echart 实例

    - 初始化ECharts实例:使用`echarts.init()`方法初始化图表实例,传入之前准备的容器ID。 - 配置项设置:定义图表的样式、数据和交互行为,这是一个JSON对象。 - 渲染图表:调用`myChart.setOption()`方法,传入...

    iOS Category基类扩展源码

    定义一个Category的基本格式如下: ```objc // 定义 @interface MyClass (MyCategory) - (void)myMethod; @end // 实现 @implementation MyClass (MyCategory) - (void)myMethod { // 方法体 } @end `...

    Struts2 与JFreeChart结合使用实例

    这就是一个简单的Struts2与JFreeChart结合使用的实例,展示了如何在Web应用中创建动态图表并呈现给用户。 通过这种方式,开发者可以利用Struts2的灵活性和JFreeChart的强大图表功能,轻松创建各种复杂的数据分析和...

    IOS5开发经典基础实例20例

    11. **本地化**:为了让应用适应全球市场,需要了解如何进行应用的本地化,包括语言、日期格式和图像资源的适配。 12. **地图服务**:使用MapKit框架可以集成地图到应用中,实现定位、导航等功能。 13. **多媒体...

    浅析Objective-C中分类Category的使用

    - **创建Category头文件**:头文件命名遵循类名加Category名的格式,如`NSString+CamelCase.h`。 - **声明Category**:在Category头文件中,使用`@interface 类名 (CategoryName)`声明Category,并在此声明要添加的...

    swift-IRCategoryCollection通用category的整合

    在这个项目中,我们可以期待找到一系列针对Foundation框架中的常见类型(如NSArray、NSDictionary、NSString等)的扩展,这些扩展可能包括便捷的初始化方法、数据处理函数、格式化工具等。例如,可能有一个扩展为...

    ECharts中折线图实例(源代码可直接运行)

    接着,通过`echarts.init()`方法初始化图表实例,并使用`setOption()`设置图表的配置项。 2. **数据格式**:ECharts接受的数据通常是一个数组,每个元素代表一个系列,每个系列又包含多个数据点,每个数据点由x轴和...

    【Python数据可视化源码实例Pyecharts库集合】K线图烛台.zip

    这个例子展示了如何使用Pyecharts库创建一个基本的K线图,并提供了数据准备、图表实例化、组件添加以及渲染的基本步骤。通过调整参数和数据,可以实现各种复杂的K线图展示效果。 总之,Pyecharts库是Python数据可视...

    ios-类别.zip

    3. NSString+HSKExtensions:包含字符串处理的辅助方法,如格式化、编码解码、正则表达式匹配等。 三、Category的实现原理 Category通过Category接口向类的运行时系统添加方法列表,这些方法会在类加载时被合并到...

    ExtJs java实例 (个人/家庭收支管理系统)第2版加强版

    在本实例中,我们可能会看到使用了诸如GridPanel(表格面板)来展示收支明细,FormPanel(表单面板)用于输入新的收支信息,以及可能用到Chart(图表)来可视化统计结果。 其次,系统中涉及的Java部分可能涉及到...

    Category类库:php无限分类类库

    在PHP代码中,首先需要实例化Category类,然后调用其方法进行操作。例如,添加新分类: ```php $category = new Category(); $category-&gt;addCategory(['name' =&gt; '电子产品', 'parent_id' =&gt; 0]); // 假设0是顶级...

    XML的简单应用和实例

    1. **配置文件**:许多应用程序使用XML来存储配置信息,因为其结构清晰,易于理解和编辑。 2. **数据交换**:XML格式在Web服务(如SOAP)中广泛用于不同系统间的数据交换。 3. **文档存储**:例如,Microsoft Office...

    JFreeChart 帮助文档 api 实例说明

    创建时间序列图的方法类似,只是需要使用`ChartFactory.createTimeSeriesChart()`,并使用`TimeSeriesCollection`作为数据集。 **8. 图表行为** JFreeChart 提供了交互式图表功能,如鼠标监听事件,可以添加到图表...

    Category类库:php无限分类类库.zip

    3. **实例化类库**:创建Category类的实例,通常需要传递数据库连接对象。 4. **操作分类**:调用类库提供的方法,如`addCategory()`, `getTree()`, `getChildCategories()`等,进行分类的增删改查。 5. **处理...

    jfreechart简单应用实例

    4. **创建图像渲染**:这一步将图表渲染为实际的图像,可以是 PNG、JPEG 或其他格式: ```java FileOutputStream out = new FileOutputStream("bar_chart.png"); ChartUtilities.writeChartAsPNG(out, chart, 600, ...

    jfreechart实例代码

    下面我们将详细探讨JFreeChart的使用方法和实例代码。 首先,引入JFreeChart库到你的项目中。通常,你可以通过Maven或Gradle添加依赖,或者直接下载jar文件并将其添加到项目的类路径中。对于Maven用户,可以在pom....

    amcharts 柱状图实例

    **标题:“amcharts 柱状图实例”** 在数据可视化领域,柱状图是一...通过这个实例,我们可以掌握使用 amCharts 创建柱状图的基础知识,进一步探索其高级特性和定制化选项,为数据可视化项目提供强大的图表解决方案。

Global site tag (gtag.js) - Google Analytics