你如何在php中找到两个日期之间的十进制月份数?
我试过下面的代码:
$date1 = '2010-01-25';
$date2 = '2010-02-20';
$ts1 = strtotime($date1);
$ts2 = strtotime($date2);
$year1 = date('Y', $ts1);
$year2 = date('Y', $ts2);
$month1 = date('m', $ts1);
$month2 = date('m', $ts2);
$day1 = date('d', $ts1);
$day2 = date('d', $ts2);
$diff = (($year2 - $year1) * 12) + ($month2 - $month1);
Run Code Online (Sandbox Code Playgroud)
但它只给了我整整几个月的时间。我想要小数。像 1.5 个月或 1.4 个月。
我正在构建一个IOS SDK.
基本上,我正在进行异步网络请求(API调用).出现错误时,将返回带有"error_key","error_description","error_code"键的字典.
如何使用NSError表示这三个信息?
我正在做以下事情:
NSMutableDictionary* details = [NSMutableDictionary dictionary];
[details setValue: error_description forKey: NSLocalizedDescriptionKey];
[NSError errorWithDomain: APPErrorDomain code: error_code userInfo: details];
Run Code Online (Sandbox Code Playgroud)
如何更改userinfo以同时考虑error_key?
我有以下代码:
static NSDictionary * errorDescriptions = nil;
+ (NSString *) errorsFromCode: (WPErrorCode) code {
if(errorDescriptions == nil) {
errorDescriptions = @{[NSNumber numberWithInt: InvalidCar]: NSLocalizedStringFromTable(@"Car is invalid.", @"WePay", @"validation: invalid car"), ...
}
return [errorDescriptions objectForKey: [NSNumber numberWithInt: code]];
}
Run Code Online (Sandbox Code Playgroud)
我得到建议将上面的代码更改为:
+ (NSString *) errorsFromCode: (WPErrorCode) code {
static NSDictionary * errorDescriptions = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
errorDescriptions = @{[NSNumber numberWithInt: InvalidCar]: NSLocalizedStringFromTable(@"Car is invalid.", @"WePay", @"validation: invalid car"), ...
}
return [errorDescriptions objectForKey: [NSNumber numberWithInt: code]];
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样?为什么我必须使用dispatch_once?
Objective-c中FOUNDATION EXPORT的用途是什么?
所以我有:
KError.h
FOUNDATION_EXPORT NSString *const KAPPErrorDomain;
enum {
KPUnexpectedError = -1,
};
Run Code Online (Sandbox Code Playgroud)
KError.m:
#import "KError.h"
NSString *const KAPPErrorDomain = @"com.kexample.myapp";
Run Code Online (Sandbox Code Playgroud)
我假设在这种情况下使用Foundation_export时,它是否能够在另一个文件中使用变量?
那么在KService.m中,我可以毫无问题地引用KAppErrorDomain吗?
我有以下课程:
Teacher
Student
Class (like a school class)
Run Code Online (Sandbox Code Playgroud)
它们都来自具有以下代码的KObject:
- initWithKey
- send
- processKey
Run Code Online (Sandbox Code Playgroud)
Teacher,Student Class都使用来自KObject父类的函数processKey和initWithKey.他们实现了自己的发送版本.我遇到的问题是KObject不应该被实例化.它更像是一个抽象类,但在objective-c中没有抽象类概念.它仅对允许子类访问一个属性和两个函数有用.
我能做什么才能使KObject无法实例化,但仍允许子类访问KObject的函数和属性?
我有一个导航控制器,我想转移到另一个导航控制器.因此,当人们注销时,他们会转到登录注册导航控制器.我怎样才能在ios中完成这项工作?
基本上,我想使用我正在编写的SDK进行api调用.
我有以下课程:
基本上要创建一辆汽车,我会做以下事情:
[Car carWithData: cardata onSuccess: successHandler onError: errorHandler]
Run Code Online (Sandbox Code Playgroud)
这基本上是一个工厂方法,它在发出API调用请求并使用响应填充新的Car类并将该实例传递给successHandler之后创建Car的实例.
所以"Car"有上面的静态方法来创建那辆车,还有非静态的方法来编辑,删除汽车(这会编辑,删除对服务器的API调用)
因此,当Car创建静态方法时,通过执行以下操作将新车传递给successHandler:
successHandler([[Car alloc] initWithDictionary: dictionary)
Run Code Online (Sandbox Code Playgroud)
成功处理程序可以继续使用该新车执行以下操作:
[car update: cardata]
[car delete]
Run Code Online (Sandbox Code Playgroud)
考虑到新车对象现在每辆车都有一个ID,它可以传递给更新和删除API调用.
我的问题:
关于CarData,请注意不同的API调用可能有不同的输入.所以create function可能需要知道model,make等,但是find函数可能需要知道要查找的项数,限制,起始id等.