zoukankan      html  css  js  c++  java
  • iOS时间显示今天昨天

    一、前言

      今天无意间想起写这个功能,仔细考虑了一下,其实很简单,整体思路如下:

      先获取你所要转换的时间的年月日,然后再获取今天和昨天的年月日,然后对比,进而返回不同的字符串。

    二、实现步骤

      首先,我们设置一下时间格式:

      NSDateFormatter *format = [[NSDateFormatter alloc] init];
        [format setDateFormat:@"YYYY年MM月dd日"];
       NSDateFormatter *fo = [[NSDateFormatter alloc] init];
        [fo setDateFormat:@"HH:mm"];

      然后我们要获得传过来的时间的年月日和时分:

     //获取传过来的时间的时分
        NSString *hoursandSec = [fo stringFromDate:date];
        
        //获取传过来的时间的date
        NSString *createDate = [format stringFromDate:date];

      然后获取今天和昨天的年月日:

    //获取今天
        NSDate *nowDate = [NSDate date];
        NSString *today = [format stringFromDate:nowDate];
        
        //获取昨天
        NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-(24*60*60)];
        NSString *yesterday = [format stringFromDate:yesterdayDate];

      然后对比返回数据即可:

     if ([createDate isEqualToString:today]) {
            return [NSString stringWithFormat:@"今天%@",hoursandSec];
        }else if ([createDate isEqualToString:yesterday])
        {
             return [NSString stringWithFormat:@"昨天%@",hoursandSec];
        }else
        {
            return [NSString stringWithFormat:@"%@ %@",createDate,hoursandSec];
        }

      完成。

    三、附加方法源码

    /获取时间:今天昨天
    +(NSString *)getYMD:(NSDate *)date
    {
        NSDateFormatter *format = [[NSDateFormatter alloc] init];
        [format setDateFormat:@"YYYY年MM月dd日"];
        
        //获取传过来的时间的时分
        NSDateFormatter *fo = [[NSDateFormatter alloc] init];
        [fo setDateFormat:@"HH:mm"];
        NSString *hoursandSec = [fo stringFromDate:date];
        
        //获取传过来的时间的date
        NSString *createDate = [format stringFromDate:date];
        
        //获取今天
        NSDate *nowDate = [NSDate date];
        NSString *today = [format stringFromDate:nowDate];
        
        //获取昨天
        NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:-(24*60*60)];
        NSString *yesterday = [format stringFromDate:yesterdayDate];
        
        if ([createDate isEqualToString:today]) {
            return [NSString stringWithFormat:@"今天%@",hoursandSec];
        }else if ([createDate isEqualToString:yesterday])
        {
             return [NSString stringWithFormat:@"昨天%@",hoursandSec];
        }else
        {
            return [NSString stringWithFormat:@"%@ %@",createDate,hoursandSec];
        }
    }
    View Code
  • 相关阅读:
    mysql 中 时间函数 now() current_timestamp() 和 sysdate() 比较
    在spring boot 中使用itext和itextrender生成pdf文件
    dockerfile构建的镜像
    在linux环境下使用itext生成pdf
    在spring data jpa中使用自定义转换器之使用枚举转换
    Sping Boot返回Json格式自定义
    【强化学习RL】model-free的prediction和control — MC, TD(λ), SARSA, Q-learning等
    【强化学习RL】必须知道的基础概念和MDP
    【GAN与NLP】GAN的原理 —— 与VAE对比及JS散度出发
    【NLP】使用bert
  • 原文地址:https://www.cnblogs.com/zhanggui/p/4443713.html
Copyright © 2011-2022 走看看