【问题标题】:How to set current time in swift?如何快速设置当前时间?
【发布时间】:2015-07-07 08:38:14
【问题描述】:

我正在尝试将纯 java 代码转换为 swift。但是,我在设置当前时间时遇到了一点问题。我可以以毫秒为单位获取当前时间。但我无法设置当前时间。有什么帮助吗?

这是我的代码

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    let now = NSDate()

    var auctionDate = [String:String]()

    let dateFormatter = NSDateFormatter()
    dateFormatter.locale = NSLocale(localeIdentifier: "en_US")

    var sdfDDMMYYYYEEE : NSDateFormatter!
    sdfDDMMYYYYEEE.dateFormat = "dd/MM/yyyy (EEE)"

    var sdfDDMMYYYY : NSDateFormatter!
    sdfDDMMYYYY.dateFormat = "dd/MM/yyyy"

    var sdfEEE : NSDateFormatter!
    sdfEEE.dateFormat = "EEE"

    // This is how i get the current time
    println((now.timeIntervalSince1970)*1000 + 86400000.00)

    for var i = 0; i < 5; i++ {
        if sdfEEE.stringFromDate(now) == "Sun" {
            // This is where i have to set my time with that ((now.timeIntervalSince1970)*1000 + 86400000.00)
            i--;
            continue;
        }
        auctionDate[(sdfDDMMYYYY.stringFromDate(now) as String)] = (sdfDDMMYYYYEEE.stringFromDate(now) as String)
        // Here too I have to set my time
    }

    println(dateFormatter.stringFromDate(now))

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

这是我要转换成 swift 代码的 java 代码

import java.text.*;
import java.util.*;
public class DateTest{

    Date now = new Date();
    Map<String, String> myDate = new LinkedHashMap<String, String>();
    myDate.put("", "All");
    SimpleDateFormat sdfDDMMYYYYEEE = new SimpleDateFormat("dd/MM/yyyy (EEE)");
    SimpleDateFormat sdfDDMMYYYY = new SimpleDateFormat("dd/MM/yyyy");
    SimpleDateFormat sdfEEE = new SimpleDateFormat("EEE");
    for (int i = 0; i < 5; i++) {
        if (sdfEEE.format(now).equals("Sun")) {
            now.setTime(now.getTime() + 86400000);
            i--;
            continue;
        }
        myDate.put(sdfDDMMYYYY.format(now), sdfDDMMYYYYEEE.format(now));
        now.setTime(now.getTime() + 86400000);
    }
}

在 swift 中设置当前时间的任何帮助。我几乎接近我的答案。

【问题讨论】:

标签: java ios swift nsdate


【解决方案1】:

在您的代码中,您想添加 1970 年以来的秒数。幸运的是,有一个初始化器:NSDate(timeIntervalSince1970: NSTimeInterval)

let now = NSDate(timeIntervalSince1970: 86400000)

这将创建一个新的NSDate 并将86400000 添加到自 1970 年以来的秒数中。

【讨论】:

    猜你喜欢
    • 2015-06-10
    • 1970-01-01
    • 2016-10-14
    • 2015-11-14
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    相关资源
    最近更新 更多