私は私がどのように"2016-01-14"
に変換したい文字列Swift:通常の文字列をYYYY-MM-DDタイプの文字列に変換しますか?
let a = "20160114"
を持って、私はNSDateFormatter.dateFromString.
のパラメータに渡すことができるようにたDateFormatter文字列に単純な文字列を変換する必要がありますか?
私は私がどのように"2016-01-14"
に変換したい文字列Swift:通常の文字列をYYYY-MM-DDタイプの文字列に変換しますか?
let a = "20160114"
を持って、私はNSDateFormatter.dateFromString.
のパラメータに渡すことができるようにたDateFormatter文字列に単純な文字列を変換する必要がありますか?
トン
var a = "20160114"
a.insert("-", atIndex: a.startIndex.advancedBy(4))
a.insert("-", atIndex: a.startIndex.advancedBy(4+1+2))
print(a)
印刷: "2016年1月14日"
jason Bourbne:この方法を使用すると、数字の桁数が変更された場合に日付が間違っていたり間違ったりする可能性があります。 – Kalyani
let dateformattor = NSDateFormatter()
dateformattor.dateFormat = "yyyyMMdd"
dateformattor.timeZone = NSTimeZone.localTimeZone()
// here just pass your string that you want to convert into date.
let dt = "20160114"
let dt1 = dateformattor.dateFromString(dt as String)
dateformattor.dateFormat = "yyyy-MM-dd"
dateformattor.timeZone = NSTimeZone.localTimeZone()
print("Time :",dateformattor.stringFromDate(dt1!))
出力:
Time : 2016-01-14
@Robこれまでに私のシステムで文字列を送信したときに日付または時刻に変換したときのデフォルト設定はUTC時刻だったので、私のコードでそれを与えて問題を解決しました –
@Rob ok brother私にこの情報。 :) –
うん、それは良いです。率直に言って、私はタイムゾーンの設定を気にすることはありません(と私は確かにそれを2回はしません;笑)が、これは素晴らしい作品です。迅速な修正をありがとう! – Rob
日付と時刻を扱うとき、これは一般的には適用できないかもしれないが、あなただけのダッシュ(フォーマットは同じであることが保証される)を挿入する必要がある場合、これは非常にあります唯一あなたがSWIFの挿入 sunctionを使用することができます与えられたフォーマット に文字列を変換するための簡単なソリューション
var str = "20160112"
str.characters.insert("-", at: str.index(str.startIndex, offsetBy: 6))
str.characters.insert("-", at: str.index(str.startIndex, offsetBy: 4))
print(str) // outputs "2016-01-12"
var str = "20160518"
let strCpoy = str
str.insert("-", at: strCpoy.index(strCpoy.startIndex, offsetBy: 4))
str.insert("-", at: strCpoy.index(strCpoy.startIndex, offsetBy: 7))
print(str)
let dateString = "20160114"
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyyMMdd"
let dateObj = dateFormatter.dateFromString(dateString)
dateFormatter.dateFormat = "yyyy-MM-dd"
print("Dateobj: \(dateFormatter.stringFromDate(dateObj!))")
チェックはその作業罰金 –
@Json Bourbneに答える私の、あなたは '時間zone'を投稿する必要があります。 – aircraft