[英]NSDate time converting from 12hr to 24 hr format
嗨我在轉換日期格式時遇到問題...日期時間格式為12小時格式如12/9/2010 4:00:00 PM (月/日/年小時:分:秒Pm)我需要轉換它像24小時格式,如12/9/2010 16:00:00
任何人都可以幫助我......請提前
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateformatter.dateFormat = @"hh:mm a";
NSDate *date = [dateformatter dateFromString:departTime];
dateformatter.dateFormat = @"HH:mm";
NSString *time24 = [dateformatter stringFromDate:date];
departTimelbl.text=time24;
只需執行此操作即可獲得24小時時間格式(在Swift 2中)
let formatter = NSDateFormatter()
formatter.dateFormat = "HH:mm a" //(hh:mm a----> for 12 hour format)
let timeString = formatter.stringFromDate(NSDate())
print(timeString)
更新:Swift 3版本
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm a" //(hh:mm a----> for 12 hour format)
let timeString = formatter.string(from: Date())
print(timeString)
您需要使用NSDateFormatter
。 我鼓勵您閱讀由Kay
鏈接的課程參考。
這是你如何做到的。 我假設日期起源於NSString
。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM-dd-yyyy HH:mm:ss"];
NSDate *myDate = [df dateFromString:yourNSString];
NSString *myNewDate = [formatter stringFromDate:myDate];
[formatter release];
[myDate release];
使用這些功能,這將更改日期字符串從12到24小時甲酸鹽和24到12小時甲酸鹽。
-(NSString *)changeformate_string24hr:(NSString *)date
{
NSDateFormatter* df = [[NSDateFormatter alloc]init];
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate* wakeTime = [df dateFromString:date];
[df setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
return [df stringFromDate:wakeTime];
}
-(NSString *)changeformate_string12hr:(NSString *)date
{
NSDateFormatter* df = [[NSDateFormatter alloc]init];
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
NSDate* wakeTime = [df dateFromString:date];
[df setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
return [df stringFromDate:wakeTime];
}
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm";
NSDate *date = [dateFormatter dateFromString:@"15:15"];
dateFormatter.dateFormat = @"hh:mm a";
NSString *pmamDateString = [dateFormatter stringFromDate:date];
看一下NSDateFormatter 類引用和數據格式指南 。 在那里你會發現更特別的方法dateFromString和stringFromDate對你有意義。 還有一個問題是處理類似問題從iphone sdk上的字符串到日期 ,你可以在設置特殊格式化模板字符串時找到一些示例代碼。
在斯威夫特
var dateFormatter = DateFormatter() dateFormatter.dateFormat = "MM/dd/yyyy hh:mm:ss a" var date: Date? = dateFormatter.date(from: "12/9/2010 4:00:00 PM") dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss" var convertedString: String? = nil if let aDate = date { convertedString = dateFormatter.string(from: aDate) }
在目標C中
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a"; NSDate *date = [dateFormatter dateFromString:@"12/9/2010 4:00:00 PM"]; dateFormatter.dateFormat = @"MM/dd/yyyy HH:mm:ss"; NSString *convertedString = [dateFormatter stringFromDate:date];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.