[分享]iOS开发-通过日期求星期

news/2024/7/3 0:40:46

通过日期求星期

-(NSString*)fromDateToWeek:(NSString*)selectDate
{
    NSInteger yearInt = [selectDate substringWithRange:NSMakeRange(0, 4)].integerValue;//取第0~4位
    NSInteger monthInt = [selectDate substringWithRange:NSMakeRange(4, 2)].integerValue;//取第4位的后两位
    NSInteger dayInt = [selectDate substringWithRange:NSMakeRange(6, 2)].integerValue;//取第6位的后两位
    int c = 20;//世纪
    long int y = yearInt -1;//年
    long int d = dayInt;
    long int m = monthInt;
    int w =(y+(y/4)+(c/4)-2*c+(26*(m+1)/10)+d-1)%7;
    NSString *weekDay = @"";
    switch (w) {
        case 0:
            weekDay = @"星期日";
            break;
        case 1:
            weekDay = @"星期一";
            break;
        case 2:
            weekDay = @"星期二";
            break;
        case 3:
            weekDay = @"星期三";
            break;
        case 4:
            weekDay = @"星期四";
            break;
        case 5:
            weekDay = @"星期五";
            break;
        case 6:
            weekDay = @"星期六";
            break;
        default:
            break;
    }
    return weekDay;
}

获取当前年月日,星期

-(int)getCurrentTimeWith:(State)state
{
    NSDate* date = [NSDate date];
    NSCalendar* calendar = [NSCalendar currentCalendar];
    NSDateComponents* comps = [calendar components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit) fromDate:date];
    switch (state) {
        case year:{
            return [comps year];
        }
            break;
        case month:{
            return [comps month];
            break;
        }
        case day:{
            return [comps day];
            break;
        }
        case week:{
            return [comps weekday]-1>0?[comps weekday]-1:7;
            break;
        }
        default:
            break;
    }
}

h.
#import <UIKit/UIKit.h>
#import "InfoView.h"
typedef enum{
    year=0,
    month,
    day,
    week
}State;

//似乎是个可以获得日历属性的方法
NSCalendar日历

http://www.niftyadmin.cn/n/2757453.html

相关文章

linux永久添加环境变量的三种方法

2019独角兽企业重金招聘Python工程师标准>>> 怎样把/usr/local/mysql/bin添加为系统变量方法一&#xff1a;vim /etc/profile在最后添加PATH/usr/local/mysql/bin:$PATHexport PATH要是刚才的修改马上生效&#xff0c;需要执行以下代码[rootCentOS ~]# source /etc/…

docker进阶与实战 2 关于容器技术

2.1 容器技术2.1.1 关于容器技术容器技术是轻量级的操作系统虚拟化.容器技术在linux内核原生集成.容器主要使用2大linux内核特性:Cgroup:资源控制NameSpace:访问隔离Cgroup与Namespace两种技术并不强相关,可以单独使用.同时使用时就创建了一个容器.2.1.2 容器技术的历史文件系统…

《高可用架构·中国初创故事(第3期)》一2.6 激励你的团队成员

本节书摘来异步社区《高可用架构中国初创故事&#xff08;第3期&#xff09;》一书中的第2章&#xff0c;第2.6节&#xff0c;作者&#xff1a; 高可用架构, 更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.6 激励你的团队成员 管好团队做对事——软件企业成长手册开…

4大开源协议及Linux基础命令汇点

一&#xff0c;4大开源协议 四大协议的相同点和不同点 GPL&#xff0c;LGPL&#xff0c;BSD, Apache 四大协议中&#xff0c;GPL作为GNU通用公共许可证&#xff0c;只要在一个软件中使用GPL协议的产品&#xff0c;则该产品必须采用GPL协议&#xff0c;也必须开源和免费&…

Shiro入门(一)Shiro简介

前言 本章学习Shiro安全框架的基本概念 方法 1.概念 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 2.为什么要学习S…

linux 2 unit10 selinux

selinux的管理####安全上下文的查看与更改####vim /etc/sysconfig/selinux ###更改状态[rootlocalhost ~]# systemctl status vsftpd ##查看vsftpd服务状态vsftpd.service - Vsftpd ftp daemonLoaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled)Active: in…

多台路由器同时上网

为什么80%的码农都做不了架构师&#xff1f;>>> 现在生活中总是会出现这样的情况&#xff1a; 1&#xff1a;通过拨号上网&#xff08;即通过用户名、密码如长城宽带上网&#xff09;时。 2&#xff1a;通过别的人路由器接到一根可以上网的线。 然而现在的手机或是…

《Java程序员面试秘笈》—— 面试题13 Java开发原则

本节书摘来异步社区《Java程序员面试秘笈》一书中的第1章&#xff0c;第1.13节&#xff0c;作者&#xff1a;常建功&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 面试题13 Java开发原则 Java程序员面试秘笈请选择下面Java语言描述正确的项。 &#xff08…