簡體   English   中英

NSDate時間從12小時轉換為24小時格式

[英]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上的字符串到日期 ,你可以在設置特殊格式化模板字符串時找到一些示例代碼。

  1. 在斯威夫特

     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) } 
  2. 在目標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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM