我们如何以12小时格式获取日期

时间:2015-07-09 09:55:05

标签: ios objective-c iphone

我希望如果用户从我的字符串设置中选择24小时,他们将获得12小时格式的时间。我正在使用此代码。它没有显示适当的时间。

timePicker.datePickerMode=UIDatePickerModeTime;
[timePicker setDate:[NSDate date]];
[timePicker addTarget:self action:@selector(updateTextFieldd:) forControlEvents:UIControlEventValueChanged];


NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"h:mm:a"];
theTime = [dateFormat stringFromDate:timePicker.date];
NSLog(@"%@",theTime);

//    NSDateFormatter *DateFormatters=[[NSDateFormatter alloc] init];  
//    [DateFormatters setDateFormat:@"a"];

if (is24h ==YES) {
    NSArray *seprates=[theTime componentsSeparatedByString:@":"];

    NSString *min = [seprates objectAtIndex:1];
    NSLog(@"%@",min);
    NSString  *hour=[seprates objectAtIndex:0];
    int hours=[hour intValue];
    NSLog(@"%d",hours);

    if (hours==12 &&[min isEqualToString:@"00"]) {

    }
    else
    {
        if (hours>=12) {
            hours=hours-12;
            period=@"PM";
        }
        else
        {
            if (hours==12) {
                hours=hours-11;
                period=@"PM";
            }
            else if (hours>12)
            {
                hours=hours-12;
                period=@"PM";
            }
            else
            {
                period=@"AM";
            }
       }
    }

    if (hours ==0) {
         theTime=[NSString stringWithFormat:@"00:%@",min];
    }
    else
    {
         theTime=[NSString stringWithFormat:@"%d:%@",hours,min];
    }

3 个答案:

答案 0 :(得分:2)

  $(function() {
    $("#CardSearch").bind('submit',function() {
      var value = $('#CardName').val();
        $.ajax({
           method: "POST",
           url: "synergies.php",
           data: {value}
        })
        .success(function(data) {
         $("#Results").html(data);
        })
        .complete(function() {
         alert("div updated!"); //Trying to run JS code AFTER div finishes loading
        });
       return false;
    });
  });

使用此格式化程序设置完整日期。我刚刚给出了提示。

答案 1 :(得分:2)

如果要强制使用AM / PM以12小时格式显示日期,请将区域设置设置为en_US。

  NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
  [dateFormatter setDateFormat:@"hh:mm a"];
  dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en_US"];
  NSString *theTime = [dateFormatter stringFromDate: [NSDate date]];
  NSLog(@"%@",theTime);

答案 2 :(得分:0)

试试这个

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 dateFormatter.dateFormat = @"HH:mm";
 NSDate *date = [dateFormatter dateFromString:@"23:50"];//suppose take time 23:50

 dateFormatter.dateFormat = @"hh:mm a";
 NSString *DateString = [dateFormatter stringFromDate:date];