【发布时间】:2011-05-04 16:39:55
【问题描述】:
首先我要提前感谢您对我的帮助。
我想知道如何使用 Xcode 在标签上创建日期, 并且日期将与 iphone 中的日期相同。
谢谢
【问题讨论】:
标签: objective-c swift xcode date label
首先我要提前感谢您对我的帮助。
我想知道如何使用 Xcode 在标签上创建日期, 并且日期将与 iphone 中的日期相同。
谢谢
【问题讨论】:
标签: objective-c swift xcode date label
这是一种简单的方法
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 向用户显示日期时,您做错了。
创建文本日期很简单,但真正的问题是您要使用什么数据源制作日期文本?
【讨论】:
日期可以在标签中进行格式化和设置,如下所示。
NSDate *today = [NSDate date];
NSDateFormatter *dformat = [[NSDateFormatter alloc] init];
[dformat setDateFormat:@"dd:MM:YYYY"];
myLabel.text = [dformat stringFromDate:today];
【讨论】:
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)
【讨论】: