iOS Swift에서 NSDate를 다중로 변환
이 질문에 이미 답변이 있습니다.
- NSDate를 NSString으로 변환 14 답변
a NSDate
를 로 변환 한 String
다음 형식을 변경 합니다 . 그러나 내가 그것을 전달 NSDate
하면 String
공백이 생성됩니다.
let formatter = DateFormatter()
let myString = (String(describing: date))
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let yourDate: Date? = formatter.date(from: myString)
formatter.dateFormat = "dd-MMM-yyyy"
print(yourDate)
Apple Dateformatter Document 에서 세부 정보를 얻습니다 . dateString에 대한 날짜 형식을 설정하려는 날짜 링크를 참조하십시오. 여기 에서 얻을 수있는 세부 날짜 형식 은 다음과 같습니다.
let formatter = DateFormatter()
// initially set the format based on your datepicker date / server String
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let myString = formatter.string(from: Date()) // string purpose I add here
// convert your string to date
let yourDate = formatter.date(from: myString)
//then again set the date format whhich type of output you need
formatter.dateFormat = "dd-MMM-yyyy"
// again convert your date to string
let myStringafd = formatter.string(from: yourDate!)
print(myStringafd)
당신은 다음과 같이 출력을 얻습니다.
나는 항상이 코드 Date
를 String
. (스위프트 3)
extension Date
{
func toString( dateFormat format : String ) -> String
{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.string(from: self)
}
}
그리고 이렇게 부르십시오. .
let today = Date()
today.toString(dateFormat: "dd-MM")
DateFormatter
너무 게으른 사람들을 위해 서식을 수정하기에는 몇 가지 공장 날짜 스타일이 있습니다. 맞춤 스타일이 필요하지 않은 경우 다음과 같은 다른 옵션이 있습니다.
extension Date {
func asString(style: DateFormatter.Style) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = style
return dateFormatter.string(from: self)
}
}
이렇게하면 다음 스타일이 제공됩니다.
short, medium, long, full
사용 예 :
let myDate = Date()
myDate.asString(style: .full) // Wednesday, January 10, 2018
myDate.asString(style: .long) // January 10, 2018
myDate.asString(style: .medium) // Jan 10, 2018
myDate.asString(style: .short) // 1/10/18
업데이트 된 코드입니다.
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let myString = formatter.string(from: date as Date)
let yourDate: Date? = formatter.date(from: myString)
formatter.dateFormat = "dd-MMM-yyyy"
print(yourDate!)
포맷터를 만들 때 명심해야 할 점은 가능한 경우 인스턴스를 보완하는 것입니다. 포맷터는 만드는 데 계산 비용이 상당히 많이 들기 때문입니다. 다음은 NSHipster에서 적용한 포맷터를 앱 전체에서 공유 할 수있는 앱에 자주하는 패턴 입니다.
extension DateFormatter {
static var sharedDateFormatter: DateFormatter = {
let dateFormatter = DateFormatter()
// Add your formatter configuration here
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter
}()
}
용법 :
let dateString = DateFormatter.sharedDateFormatter.string(from: Date())
할당 후 DateFormatter
형식화 된 노드를 제공해야하며 다음과 같이 공유로 변환 할 수 있습니다.
var date = Date()
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let myString = formatter.string(from: date)
let yourDate: Date? = formatter.date(from: myString)
formatter.dateFormat = "dd-MMM-yyyy"
let updatedString = formatter.string(from: yourDate!)
print(updatedString)
많이
2017 년 3 월 1 일
이 확장을 사용할 수 있습니다.
extension Date {
func toString(withFormat format: String) -> String {
let formatter = DateFormatter()
formatter.dateFormat = format
let myString = formatter.string(from: self)
let yourDate = formatter.date(from: myString)
formatter.dateFormat = format
return formatter.string(from: yourDate!)
}
}
다음과 같이 뷰 컨트롤러에서 사용합니다 (< "yyyy">를 해당 형식으로 대체).
yourString = yourDate.toString(withFormat: "yyyy")
참고 URL : https://stackoverflow.com/questions/42524651/convert-nsdate-to-string-in-ios-swift
'ProgramingTip' 카테고리의 다른 글
Fiddler가 브라우저에서 트래픽을 작동하지 않음 (0) | 2020.12.13 |
---|---|
MySQL 5.7의 기본 루트 암호는 무엇입니까? (0) | 2020.12.13 |
모바일을 모스 부호로 변환 (0) | 2020.12.13 |
널을 테스트하는 간단한 방법으로 변환하기 전에 (0) | 2020.12.13 |
오류 ITMS-90174 :“프로비저닝 프로필이 없습니다. iOS 앱은 embed.mobileprovision이라는 파일에 프로필을 포함해야합니다.” (0) | 2020.12.13 |