'YYYY'和'yyyy'之间的确切区别是什么?我在这个链接中读到,它说明了这一点
一个常见的错误是使用YYYY.yyyy指定日历年,而YYYY指定ISO年度日历中使用的年份("年度周").在大多数情况下,yyyy和YYYY会产生相同的数字,但它们可能会有所不同.通常,您应该使用日历年.
但是当我尝试使用时
NSString *stringDate = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mma"];
NSDate *date=[dateFormatter dateFromString:stringDate];
NSLog(@"Date 1 : %@",date); //2013-02-28 12:00:00 +0000
NSString *stringDatee = @"Feb 28, 2013 05:30pm";
NSDateFormatter *dateFormatterr = [[NSDateFormatter alloc] init];
[dateFormatterr setDateFormat:@"MMM dd, YYYY hh:mma"];
NSDate *datee=[dateFormatterr dateFromString:stringDatee];
NSLog(@"Date 2 : %@",datee); //2013-01-05 12:00:00 +0000
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MMM dd, YYYY hh:mma"];
NSString *dateString = [dateFormat stringFromDate:datee];
NSLog(@"date 3 : …Run Code Online (Sandbox Code Playgroud) 我试图将a转换NSDate为a String然后更改格式.但是当我传递NSDate给String它时会产生空白.
let formatter = DateFormatter()
let myString = (String(describing: date))
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let yourDate: Date? = formatter.date(from: myString)
formatter.dateFormat = "dd-MMM-yyyy"
print(yourDate)
Run Code Online (Sandbox Code Playgroud) 我使用什么setDateFormat选项获取NSDateFormatter来获取一个月的序数后缀?
例如,下面的片段目前产生:
8月15日星期六下午3:11
我必须改变什么:
8月15 日星期六下午3:11
NSDate *date = [NSDate date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setFormatterBehavior:NSDateFormatterBehavior10_4];
[dateFormatter setDateFormat:@"h:mm a EEEE MMMM d"];
NSString *dateString = [dateFormatter stringFromDate:date];
NSLog(@"%@", dateString);
Run Code Online (Sandbox Code Playgroud)
在PHP中,我将在上面的例子中使用它:
<?php echo date('h:m A l F jS') ?>
是否有一个NSDateFormatter等效于PHP格式化字符串中的S选项?
我正在使用NSDateFormatter在iPhone应用程序中工作.我从网络服务中得到的时间就像"00:00:00", "16:00:00","15:30:00" and so on."00:00:00" to "12 AM"如果时间是"16:00:00" to "4 PM",如果时间是"15:30:00"到"3.30 PM" ,我需要将这些时间转换为时间.我已经使用了下面的代码,但是当我通过时"16:00:00" the date returns null.
NSString *dats1 = @"16:00:00";
NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter3 setDateFormat:@"hh:mm:ss"];
NSDate *date1 = [dateFormatter3 dateFromString:dats1];
NSLog(@"date1 : %@", date1); **// Here returning (null)**
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Current Date: %@", [formatter stringFromDate:date1]); **// Here also returning (null)**
[formatter release];
Run Code Online (Sandbox Code Playgroud)
当通过"00:00:00"时,它正确地返回"12 AM".有谁可以帮我解决这个问题?提前致谢.
我试图将日期字符串从xml解析为iPhone应用程序中的NSDate对象
我知道之前一定要问过,但是,我相信我有正确的语法,但它不起作用.我的代码有问题吗?
我需要解析的日期字符串是:
2011-01-21T12:26:47-05:00
Run Code Online (Sandbox Code Playgroud)
我用来解析它的代码是:
self.dateFormatter = [[NSDateFormatter alloc] init];
[self.dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
[self.dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
[self.dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
...
else if([elementName isEqualToString:kUpdated]){
self.currentQuestion.updated = [self.dateFormatter dateFromString:self.currentParsedCharacterData ];
}
Run Code Online (Sandbox Code Playgroud)
任何帮助非常感谢.谢谢!
**基于来自ChrisKent的链接参考,我修复了这样的问题:
else if([elementName isEqualToString:kLastOnDeck]){
NSString *dateStr = self.currentParsedCharacterData;
// we need to strip out the single colon
dateStr = [dateStr stringByReplacingOccurrencesOfString:@":"
withString:@""
options:0
range:NSMakeRange([dateStr length] - 5,5)];
self.currentQuestion.lastOnDeck = [dateFormatter dateFromString:dateStr];
}
Run Code Online (Sandbox Code Playgroud) 我正在学习swift,并且将日期String转换为NSDate转换为字符串.我以这种格式获取日期字符串"星期四,2015年10月22日07:45:17 +0000".我需要以MM-dd-yyyy格式显示日期.我尝试了以下代码,但它返回"null".
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd-yyyy"
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
let dateObj = dateFormatter.dateFromString(dateString!)
print("Dateobj: \(dateObj)")
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助在哪里出错?期待着帮助.提前致谢.
如果我使用以下代码:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm"];
NSDate *myDate = [dateFormatter dateFromString:@"2010-01-28T15:22:23.863"];
NSLog(@"%@", [dateFormatter stringFromDate:myDate]);
Run Code Online (Sandbox Code Playgroud)
它成功地转换为一个Date对象,但是,我似乎无法以任何其他方式格式化它yyyy-MM-dd'T'HH:mm,即记录的是什么2010-01-28T15:22:23
如果我更改dateFormat以说[dateFormatter setDateFormat:@"yyyy-MMMM-d'T'HH:mm"];Date对象为null ...
所以我的最终问题是如何格式化SQL数据库中的ISO8601时间戳,以便使用,例如,NSDateFormatterMediumStyle返回"2010年1月1日"?
当人们说这很贵时,人们的意思是什么?我为中间存储创建了许多瞬态对象的实例(NSString和NSDate是典型的).我怎么知道我的程序使用NSDateFormatter是否过度了?
到目前为止,我倾向于创建相当于单身的东西,但我的偏好是将其封装到与之关联的其他一些对象中,以便我可以使用自引用.
没有运行性能测试,我正在寻找一个更好的"经验法则"理解为什么我应该或不应该这样做.
我有一个倒数计时器,从当前日期/时间到特定的未来日期/时间倒计时.除了一个问题外,它工作得很好.我使用NSDateFormatter和dateFromString输入未来日期.它似乎无法接受超过12的任何时间(小时),虽然表明它不支持24小时制.有没有办法启用24小时时钟支持或解决方法?这是我的一些代码:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *myDate = [df dateFromString:@"2010-03-14 15:00:00"];
Run Code Online (Sandbox Code Playgroud)
谢谢
我编写了以下代码来显示特定格式的日期时间:
let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.LongStyle
formatter.timeStyle = .MediumStyle
formatter.dateFormat = "HH:mm a 'on' MMMM dd, yyyy"
let dateString = formatter.stringFromDate(newDate!)
println(dateString)
Run Code Online (Sandbox Code Playgroud)
产量
12:16 pm on July 17, 2015
Run Code Online (Sandbox Code Playgroud)
我想将'pm'显示为'PM'(在大写字母中),如果手机有24小时格式,则不应显示AM/PM.请帮我.