我想知道是否有一些新的和令人敬畏的可能性来获得Swift /"新"可可中两个NSDates之间的天数?
就像在Ruby中我会这样做:
(end_date - start_date).to_i
Run Code Online (Sandbox Code Playgroud) 我正在写一段代码,我想要按下按钮的时间.为此,我NSDate()在按下按钮时录制了一个按钮,并timeIntervalSinceDate在释放按钮时尝试使用该功能.这似乎工作,但我找不到任何方法来打印结果或将其切换为整数.
var timeAtPress = NSDate()
@IBAction func pressed(sender: AnyObject) {
println("pressed")
timeAtPress = NSDate()
}
@IBAction func released(sender: AnyObject) {
println("released")
var elapsedTime = NSDate.timeIntervalSinceDate(timeAtPress)
duration = ???
}
Run Code Online (Sandbox Code Playgroud)
我见过几个类似的问题,但我不知道C所以我很难理解给出的答案.如果有更有效的方法来确定按钮被按下多长时间,我愿意接受建议.提前致谢.
我在Swift 2.3中这样做的方式是:
let currentDate = NSDate()
let currentCalendar = NSCalendar.currentCalendar()
var startDate : NSDate?
var endDate : NSDate?
// The following two lines set the `startDate` and `endDate` to the start of the day
currentCalendar.rangeOfUnit(.Day, startDate: &startDate, interval: nil, forDate: currentDate)
currentCalendar.rangeOfUnit(.Day, startDate: &endDate, interval: nil, forDate: self)
let intervalComps = currentCalendar.components([.Day], fromDate: startDate!, toDate: endDate!, options: [])
print(intervalComps.day)
Run Code Online (Sandbox Code Playgroud)
现在这已经全部改变了Swift 3.我必须使用NSCalendar和NSDate不断地输入as,或者找到Swift 3的方式.
在Swift 3中使用它的正确方法是什么?
我已经看到一些答案,但不满意他们并得到一些想法,但不知道如何正确使用它,以便它将以适当的方式执行,虽然我认为它应该在App代表中使用didFinishLaunching,但我想确保在Live应用程序中实现它之前没有任何喧嚣.
SKStore?Review?Controller我只阅读ios 10.3的内容,任何人都可以用迅速和客观的c代码解释一下.
更新:
实际上我对调用方法很困惑request?Review(),我需要在哪里调用这个方法?在rootViewController's viewDidLoad或appDelegate's didFinishlaunching?
谢谢.
我试图计算两个日期之间的差异(一个是当前日期,另一个是来自datepicker),在几周和几天然后在标签上显示结果,这是我到目前为止所做的,我感谢更有经验的开发人员的帮助这里!
let EDD = datePicker.date
let now = NSDate()
let formatter = DateComponentsFormatter()
formatter.unitsStyle = .short
formatter.allowedUnits = [.day]
formatter.maximumUnitCount = 2
let string = formatter.string (from: now as Date, to: EDD)
label.text = string
Run Code Online (Sandbox Code Playgroud) 我有两个NSDate对象:startDate和endDate,两者都是NSDate对象.我想找出这两个日期之间的区别.我知道已经有一个已经解决的问题(在(月/天/小时/分钟/秒)中获得两个NSD的差异),但我想知道是否有更快的方法(更少的执行代码) .那可能吗?
我已经看到了许多方法来根据特定的日期组件来计算两个日期之间的差异,例如,以天,小时,月等为单位(请参见Stackoverflow上的此答案):
Calendar.current.dateComponents([.hour], from: fromDate, to: toDate).hour
Calendar.current.dateComponents([.day], from: fromDate, to: toDate).day
Calendar.current.dateComponents([.month], from: fromDate, to: toDate).month
Run Code Online (Sandbox Code Playgroud)
我还没有看到如何使用实际Date对象进行计算。就像是
func computeNewDate(from fromDate: Date, to toDate: Date) -> Date
let delta = toDate - fromDate
let today = Date()
if delta < 0 {
return today
} else {
return today + delta
}
}
Run Code Online (Sandbox Code Playgroud)
我已经看到了DateIntervaliOS 10中引入的类型,但是根据文档
[it]不支持反向间隔,即持续时间小于0且结束日期在时间上早于开始日期的间隔。
这样就很难计算日期,尤其是当您不知道哪个是较早的日期时。
是否有任何简洁的方法可以Date直接计算s 之间的时间差(并将它们Date再次添加到实例中)而无需使用它们进行计算timeIntervalSinceReferenceDate?
在一个单元格中,我想在Parse服务器中显示NSDate的时间.这是代码,但它不起作用.什么都没有改变,数据没有被解析.
if let createdat = (object?["createdAt"] as? String){
let pastDate = Date(timeIntervalSinceNow: TimeInterval(createdat)!)
cell.TimeAgo.text = pastDate.timeAgoDisplay()
}
extension Date {
func timeAgoDisplay() -> String {
let secondsAgo = Int(Date().timeIntervalSince(self))
let minute = 60
let hour = 60 * minute
let day = 24 * hour
let week = 7 * day
if secondsAgo < minute {
return "\(secondsAgo) sec ago"
} else if secondsAgo < hour {
return "\(secondsAgo / minute) min ago"
} else if secondsAgo < day { …Run Code Online (Sandbox Code Playgroud) 关于将linkedin与我的iPhone应用程序集成,我需要您的帮助.
我做谷歌搜索,并能够为LinkedIn创建一个API.使用链接.
但既然我是新手,我就到此为止.我有API密钥和密钥,但我不知道如何使用它来使它在iPhone应用程序中成功.
因此,我向大家提出建议我的方法.也许我会从你那里学到新东西.
我想从Firebase中删除当前用户.已验证的用户被删除但是,我无法删除数据库中该用户的数据.我究竟做错了什么?
这是我的删除用户方法....
FIRAuth.auth()?.signIn(withEmail: (emailTextField?.text)! , password: (passwordTextField?.text)!, completion: { (user, error) in
if error == nil {
print("User Authenticate!!!")
let user = FIRAuth.auth()?.currentUser
user?.delete(completion: { (error) in
if error != nil {
print("Error unable to delete user")
} else {
DataService.ds.deleteCurrentFirebaseDBUser()
KeychainWrapper.standard.removeObject(forKey: KEY_UID)
self.performSegue(withIdentifier: "goToLogin", sender: nil)
}
})
} else {
//Password was wrong, unable to authenicate user. Data is not updated
print("!!!ALERT!!! Unable to authenticate user")
let alert = UIAlertController(title: "Incorrect Password", message: "Please re-enter your password", preferredStyle: …Run Code Online (Sandbox Code Playgroud) ios firebase swift firebase-authentication firebase-realtime-database
我们得到了什么:日期+时间(格式 yyyy-mm-dd hh:mm a)
我们在寻找什么:以分钟为单位的时差
什么操作:NewDate - OldDate
所以,我想知道我如何才能实现上述目标?我想将日期和时间格式化为美国,无论用户使用哪种语言环境。我怎样才能做到这一点?
然后我将'oldTime'保存到UserDefaults中,并用于以后的计算。目标是让用户延迟 5 分钟,并且将执行计算以确定用户是否应该延迟。
假设我需要获得两个NSDates之间的小时和分钟.例如,一个日期是另一个日期后3小时42分钟.如何获得经过时间的小时和分钟?我已经试过这样的事情,根据这个问题,但没有奏效:你没有得到这两个小时和分钟.
我也尝试过使用NSCalendar,但这也没有用.相反,它只给了我小时数和秒数,而不是一次测量.
有任何想法吗?
swift ×9
ios ×6
nsdate ×4
date ×3
iphone ×2
swift3 ×2
dateinterval ×1
firebase ×1
ios10.3 ×1
linkedin ×1
nscalendar ×1
objective-c ×1
parse-server ×1
time ×1