感谢 Matthew York 和 社区 提供的精彩库。您可以在这里找到原始的仓库/文档。创建此软件包是因为我需要 Carthage 的支持,并区分 Swift 和 Objective-C 的实现。 Swift ABI 尚未稳定(目前),我不想每次新 Swift 版本发布时都花时间重新编译二进制文件。 Objective-C API 工作得非常好。
这是原始仓库的硬分叉。 这意味着不能保证代码库将完全反映原始仓库。
// Just example.
DTTimePeriod *periodA = [[DTTimePeriod alloc] initWithStartDate:request.startDate endDate:request.endDate];
DTTimePeriod *periodB = [[DTTimePeriod alloc] initWithStartDate:requestB.startDate endDate:requestB.endDate];
//Magic here
if ([periodA overlapsWith:periodB]) {
NSLog(@"Is it cool?");
}
.package(url: "https://github.com/3a4oT/DateToolsObjC", .upToNextMajor(from: "1.0.5"))
github "3a4oT/DateToolsObjC"
carthage build 3a4oT/DateToolsObjC
DateToolsObjC.framework
添加到您的目标*.h/*.m
中只需 @import DateToolsObjC;
嗯,严格来说是可以的。 但是...=) 它适用于 NSDate,但不适用于开箱即用的 Date。 你会问为什么? 简单来说 - NSDate 和 Date 是两种不同的类型(更多信息)。 不要被你可能听到的其他事情所困扰,那是不同的。 到目前为止,您有3 种选择
import DateToolsObjC
let today: NSDate = Date() as NSDate
//usage in DateToolsAPI return NSDate cast back if you need.
let result: Date = today.timeAgo() as Date
DateToolsObjC API
下创建一个 Swift Extension,它会将 NSDate 转换为 Date。版权所有 (c) 2017 Petro Rovenskyi
特此授予任何人免费获得本软件及相关文档文件(“软件”)副本的权利,以处理本软件,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,并允许向其提供本软件的人员遵守以下条件
以上版权声明和本许可声明应包含在本软件的所有副本或主要部分中。
本软件按“原样”提供,不作任何形式的明示或暗示的保证,包括但不限于适销性、特定用途适用性和不侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权诉讼还是其他诉讼中,无论是由软件或本软件的使用或其他交易引起的、与之相关的还是由此产生的。