如何获取当天凌晨的时间

查了不少资料,终于东拼西凑出来了,实属不易啊

NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];

[calendar setTimeZone:gmt];

NSDate *date = [NSDate date];

NSDateComponents *components = [calendar components:NSUIntegerMax fromDate:date];

components.day-=1;

[components setHour:0];

[components setMinute:0];

[components setSecond: 0];

NSDate *startDate = [calendar dateFromComponents:components];

NSDate *endDate = [calendar dateByAddingUnit:NSCalendarUnitDay value:1 toDate:startDate options:0];

NSLog(@"%@", endDate);
Java获取当天凌晨时间戳可以通过以下步骤完成: 1.首先获取当前日期时间戳(System.currentTimeMillis())。 2.利用Java的时间日期类库(如Java.util.Date或Java.time.LocalDateTime)获取当天零时时间(即当天凌晨)。 3.计算当天凌晨时间戳,可以使用常量值或方法。 代码实现: ``` import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneOffset; public class Main { public static void main(String[] args) { // 获取当前时间戳 long currentTimeMillis = System.currentTimeMillis(); // 获取当天凌晨时间 LocalDateTime todayStart = LocalDate.now().atStartOfDay(); long todayStartMillis = todayStart.toInstant(ZoneOffset.ofHours(8)).toEpochMilli(); // 获取当天凌晨时间戳 long todayStartTimestamp = todayStartMillis / 1000; System.out.println("当前时间戳:" + currentTimeMillis); System.out.println("当天凌晨时间戳:" + todayStartTimestamp); } } ``` 以上是使用Java 8的时间日期API来实现的,如果使用Java 7或以下版本,可以使用Java.util.Date类库来获取当天凌晨时间。 代码实现: ``` import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { // 获取当前时间戳 long currentTimeMillis = System.currentTimeMillis(); // 获取当天凌晨时间 Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); Date todayStart = calendar.getTime(); // 获取当天凌晨时间戳 long todayStartMillis = todayStart.getTime(); long todayStartTimestamp = todayStartMillis / 1000; System.out.println("当前时间戳:" + currentTimeMillis); System.out.println("当天凌晨时间戳:" + todayStartTimestamp); } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值