在目标 c 中以自定义格式获取字符串中的当前时间

发布于 2024-08-09 23:39:44 字数 58 浏览 1 评论 0原文

我希望当前时间采用以下格式的字符串。

日-月-年 HH:MM

怎么办?

I want current time in following format in a string.

dd-mm-yyyy HH:MM

How?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

老街孤人 2024-08-16 23:39:44

你想要一个 日期格式化程序。这是一个例子:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];

NSDate *currentDate = [NSDate date];
NSString *dateString = [formatter stringFromDate:currentDate];

You want a date formatter. Here's an example:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH:mm"];

NSDate *currentDate = [NSDate date];
NSString *dateString = [formatter stringFromDate:currentDate];
伤感在游骋 2024-08-16 23:39:44

要么像Carl所说的那样使用NSDateFormatter,要么就使用古老的strftime,这也是完全有效的Objective-C:

#import <time.h>
time_t currentTime = time(NULL);
struct tm timeStruct;
localtime_r(¤tTime, &timeStruct);
char buffer[20];
strftime(buffer, 20, "%d-%m-%Y %H:%M", &timeStruct);

Either use NSDateFormatter as Carl said, or just use good old strftime, which is also perfectly valid Objective-C:

#import <time.h>
time_t currentTime = time(NULL);
struct tm timeStruct;
localtime_r(¤tTime, &timeStruct);
char buffer[20];
strftime(buffer, 20, "%d-%m-%Y %H:%M", &timeStruct);
不知在何时 2024-08-16 23:39:44

这是一个简单的解决方案:

- (NSString *)stringWithDate:(NSDate *)date
{
  return [NSDateFormatter localizedStringFromDate:date
                                        dateStyle:NSDateFormatterMediumStyle
                                        timeStyle:NSDateFormatterNoStyle];
}

更改 dateStyletimeStyle 以符合您的格式要求。

Here is a simple solution:

- (NSString *)stringWithDate:(NSDate *)date
{
  return [NSDateFormatter localizedStringFromDate:date
                                        dateStyle:NSDateFormatterMediumStyle
                                        timeStyle:NSDateFormatterNoStyle];
}

Change the dateStyle and timeStyle to match your formatting requirement.

痴情 2024-08-16 23:39:44

也许这会更具可读性:

    NSDateFormatter *date = [[NSDateFormatter alloc] init];
    [date setDateFormat:@"HH:mm"];
    NSString *dateString = [date stringFromDate:[NSDate date]];
    [self.time setText:dateString];

首先,我们在 obj-c 中创建一个内置的 NSDateFormatter ,其名称为 date< /strong>,然后我们通过 [[NSDateFormatter alloc] init]; 应用它。之后,我们对代码处理器说我们希望日期具有小时/分钟/秒。
最后,我们应该使日期成为一个字符串,以与警报或标签的设置值一起使用,为此,我们应该使用 NSString 方法创建一个字符串,然后使用:[date stringFromDate:[NSDate date] ]]

玩得开心。

Maybe this will be more readable :

    NSDateFormatter *date = [[NSDateFormatter alloc] init];
    [date setDateFormat:@"HH:mm"];
    NSString *dateString = [date stringFromDate:[NSDate date]];
    [self.time setText:dateString];

First of all we create an NSDateFormatter built-in in obj-c with the name date, then we apply it by [[NSDateFormatter alloc] init]; . After that we say to the code procesor that we want our date to have HOUR/MINUTE/SECOND.
Finally we should make our date to be an string to work with alert or set value of a label , to do this we should create an string with NSString method then we use this : [date stringFromDate:[NSDate date]]

Have Fun with It .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文