【问题标题】:Create a date in xcode label在 xcode 标签中创建日期
【发布时间】:2011-05-04 16:39:55
【问题描述】:

首先我要提前感谢您对我的帮助。

我想知道如何使用 Xcode 在标签上创建日期, 并且日期将与 iphone 中的日期相同。

谢谢

【问题讨论】:

    标签: objective-c swift xcode date label


    【解决方案1】:

    这是一种简单的方法

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    //uncomment to get the time only
    //[formatter setDateFormat:@"hh:mm a"];
    //[formatter setDateFormat:@"MMM dd, YYYY"];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    
    
    //get the date today
    NSString *dateToday = [formatter stringFromDate:[NSDate date]];
    
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 20.0f)];
    [label setText:dateToday];
    [formatter release];
    
    //then add to a view
    

    【讨论】:

    • [formatter setDateFormat:@"MMM dd, YYYY"] 替换为 [formatter setDateStyle:NSDateFormatterLongStyle]; 以防止我获得 2 星应用商店评级。信不信由你,有些国家使用的日期格式与您的不同。当您使用 dateFormat 向用户显示日期时,您做错了。
    • 抱歉,我尝试使用此代码,但我的应用程序上没有显示日期。??任何想法..
    • 好吧,这就是为什么我称它为简单方法...无论如何,我把它改成了一个不太明显的方法。不过感谢@fluchtpunkt 的评论。
    【解决方案2】:

    创建文本日期很简单,但真正的问题是您要使用什么数据源制作日期文本?

    【讨论】:

      【解决方案3】:

      日期可以在标签中进行格式化和设置,如下所示。

      NSDate *today = [NSDate date];
      NSDateFormatter *dformat = [[NSDateFormatter alloc] init];
      [dformat setDateFormat:@"dd:MM:YYYY"];
      myLabel.text = [dformat stringFromDate:today];
      

      【讨论】:

        【解决方案4】:

        NSDateFormatter 处理字符串日期格式。

        NSDateFormatter 的实例创建 NSDate 对象的字符串表示形式,并将日期和时间的文本表示形式转换为 NSDate 对象。

        试试这个看看:

        // Set date format according to your string date format
        // e.g.: For, 
        // 22-12-1996 -> @"dd-MM-yyyy"
        // 22/12/1996 -> @"dd/MM/yyyy"
        // 1996-12-22 03:45:20 -> @"yyyy-MM-dd HH:mm:ss"
        
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        dateFormatter.dateFormat = @"dd/MM/yyyy";
        //dateFormatter.dateFormat = @"dd-MM-yyyy";
        
        NSDate *date = [dateFormatter dateFromString:dateString];
        if(date == nil) {
            correctFormat = false;
        }
        NSLog("Date: %@",date);
        

        注意:日期格式的每一对字符都将相关的日期组件与日期实例相关联。您可以使用日期字符串模式创建任何类型的日期格式。

        这是 Apple 的文档:Date Formatters

        • 日期(日): dd
        • 月份: MM 或 MMM 或 MMMM
        • 年份:yy 或 yyyy

        这里是日期格式列表:Date Formats

        这是 Swift

        中的解决方案
        var today = Date()
        var d_format = DateFormatter()
        d_format.dateFormat = "dd:MM:yyyy"
        label.text = dformat.string(from: today)
        

        【讨论】:

          猜你喜欢
          • 2011-08-05
          • 1970-01-01
          • 2016-03-03
          • 2013-10-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-22
          • 1970-01-01
          相关资源
          最近更新 更多