-3

给定用户本地时区当前时间的 NSDate 对象,如何将其更改为午夜并在 00:00 返回 UNIX 时间(自纪元以来的秒数)。

例如,如果当前日期和时间是 2013 年 3 月 20 日下午 12:42,给定我有一个代表这一时刻的 NSDate 对象,我如何获得 1363737600(2013 年 3 月 20 日 00:00:00)?

4

1 回答 1

2

一种选择是获取自 1970 年以来的时间间隔,然后对结果进行四舍五入。

time_t unixInterval = [someData timeIntervalSince1970];
time_t unixDate = unixInterval / (24*60*60) * (24*60*60);

只要你用整数类型做第二行,你就会得到想要的结果。

于 2013-03-20T02:09:37.543 回答