处理日期时间NSDate

获取当前日期时间的代码如下:

    NSDate *dateToDay = [NSDate date];
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
    NSLocale *local = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
    [df setLocale:local];
    NSString *myDataString = @"2009-09-15 18:30:00";

从字符串生成日期对象的代码如下:

NSDate *myData = [df dateFromString:myDataString];

日期比较的代码如下:

    switch ([dateToDay compare:myData]) {
        case NSOrderedSame:
            NSLog(@"These dates are the same!");
            break;
            
        case NSOrderedAscending:
            NSLog(@"dateToDay is earlier than myDate!");
            break;
            
        case NSOrderedDescending:
            NSLog(@"mydate is earlier than dateToDay");
            break;
            
        default:
            NSLog(@"Bad times. Invalid enum value returned.");
            break;
    }

注意:掌握NSDate和NSString相互之间的转换。

完整代码如下:

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    
    NSDate *dateToDay = [NSDate date];
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
    NSLocale *local = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
    [df setLocale:local];
    NSString *myDataString = @"2009-09-15 18:30:00";
    
    NSDate *myData = [df dateFromString:myDataString];
    
    switch ([dateToDay compare:myData]) {
        case NSOrderedSame:
            NSLog(@"These dates are the same!");
            break;
            
        case NSOrderedAscending:
            NSLog(@"dateToDay is earlier than myDate!");
            break;
            
        case NSOrderedDescending:
            NSLog(@"mydate is earlier than dateToDay");
            break;
            
        default:
            NSLog(@"Bad times. Invalid enum value returned.");
            break;
    }
    return 0;
}

NSData转换为NSString的代码如下:

    NSMutableData *data;
    NSString *tmpdata = [[NSString alloc] initWithString:data encoding:NSASCIIStringEncoding];
    NSLog(@"[***] DATA:%@" , tmpdata);
    [tmpdata release];

NSString转换为NSData的代码如下:

    NSString *str = @"teststring";
    NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOS 开发

关于iOS for ... in 注意的地方

16530
来自专栏『不羁阁』 | 行走少年郎专栏

OC知识--Foundation框架详尽总结之『字典类』

16450
来自专栏陈满iOS

iOS系统源码思考:对象的引用计数存储在哪里?--从runtime源码得到的启示

iOS开发者都知道OC里面的内存管理是通过对象的引用计数来管理的,或手动MRC,或自动ARC,有些操作可以让引用计数加1,有些可以减1,一旦一个对象的引用计数为...

15720
来自专栏freesan44

WebViewJavascriptBridge优化开发背景处理办法

WebViewJavascriptBridge作为JS和原生OC的交互,通常都是在WebView中用self.bridge注册方法来进行调用,但这样对于WebV...

11110
来自专栏华仔的技术笔记

NSDate相差8个小时问题

36190
来自专栏岑志军的专栏

iOS提取字符串

22630
来自专栏猿人谷

第一个APP:IOS做简单运算的计算器

步骤: 1.打开Xcode,单机Creat a new Xcode project 2.左边选择ios下Application,右边选择single view ...

27280
来自专栏DannyHoo的专栏

完整版单例代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

21430
来自专栏iOS 开发杂谈

浅谈 KVO 的实现原理

KVO 全称 KeyValueObserving 是 Objective-C 对观察者模式(Observer Pattern)的实现;KVO 提供一种机制,当指...

42930
来自专栏『不羁阁』 | 行走少年郎专栏

OC知识--Foundation框架详尽总结之『数字、结构体、日期、文件类』

13540

扫码关注云+社区

领取腾讯云代金券