2016-11-11 8 views
1
let dateFormater : DateFormatter = DateFormatter() 
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
let date = dateFormater.date(from: "2016-11-11T11:42:27Z") 
print("date is ---->%@",date) 

let timestamp = date?.timeIntervalSince1970 
print("timestamp is ---->%@",timestamp!) 

let str = String(format: "%@",timestamp!) 
print("str value is ---->%@",str) 

date is -----> 2016-11-11 11:42:27 +000 
timestamp is----->1478864547.0 
str value is-----> null 

日付と時刻のスタンプ値の取得。どのようにtimestamp値を文字列に変更するか。文字列に文字列(timestampvalue)を意味するタイムスタンプは文字列形式では変更されません

let str = String(format: "%@",timestamp!)どうしたのですか。

答えて

1

let timestampInString = "\(timestamp)"をそのまま使用できます。

それは、その後

if let timestamp = date?.timeIntervalSince1970 { 
    let timestampInString = "\(timestamp)" 
} 
+0

ありがとうございましたNirav私は価値を印刷することができます –

1

オプションである場合には問題はtimestampがオブジェクトではないということです - それは(Doubleのためだけtypealiasです)TimeIntervalです。書式設定された文字列を使用する場合は、"%lf"を実行する必要があります。

0

null値を取得しています。 timestampStringという値ではありませんので、Stringの値を直接得ることはできません。FloatStringキャスト 以下のようにしてください。

let dateFormater : DateFormatter = DateFormatter() 
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ" 
let date = dateFormater.date(from: "2016-11-11T11:42:27Z") 
print("date is ---->%@",date) 

let timestamp = date?.timeIntervalSince1970 
print("timestamp is ---->%@",timestamp!) 

let str = String(format: "%0.0f",timestamp!) 
print("str value is ---->%@",str) 

TimeIntervalはDoubleのためのタイプアリアですので、 "0.0f" "%lf"を使用してください。

関連する問題