Files
real-e-party-iOS/YuMi/Tools/Date/PLTimeUtil.m
edwinQQQ a35a711be6 chore: Initial clean commit
- Removed YuMi/Library/ (138 MB, not tracked)
- Removed YuMi/Resources/ (23 MB, not tracked)
- Removed old version assets (566 files, not tracked)
- Excluded Pods/, xcuserdata/ and other build artifacts
- Clean repository optimized for company server deployment
2025-10-09 16:19:14 +08:00

308 lines
11 KiB
Objective-C

//
// PLTimeUtil.m
// YYMobile
//
// Created by penglong on 14/10/28.
// Copyright (c) 2014年 YY.inc. All rights reserved.
//
#import "PLTimeUtil.h"
#import "NVDate.h"
#import "YYUtility.h"
@implementation PLTimeUtil
+ (NSString *)getTimeWithSecond:(NSUInteger)second
{
NSUInteger hours = second / 3600;
NSUInteger minutes = (second % 3600) / 60;
NSUInteger seconds = second % 60;
return [NSString stringWithFormat:@"%@:%@:%@",[self getConent:hours],
[self getConent:minutes],[self getConent:seconds]];
}
+ (NSString *)getConent:(NSUInteger)count
{
if(count >= 10){
return [NSString stringWithFormat:@"%lu",(unsigned long)count];
}
return [NSString stringWithFormat:@"0%lu",(unsigned long)count];
}
+(NSDate *)getDateWithYmd:(NSString *)time
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy:MM:dd"];
NSDate* date = [dateFormatter dateFromString:time];
return date;
}
+(NSDate *)getDateWithYearMonthDay:(NSString *)time
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate* date = [dateFormatter dateFromString:time];
return date;
}
+ (NSDate *)getDateWithCompleteTime:(NSString *)time
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy:MM:dd HH:mm:ss"];
NSDate* date = [dateFormatter dateFromString:time];
return date;
}
+ (NSDate *)getDateWithTime:(NSString *)time
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSDate* date = [dateFormatter dateFromString:time];
return date;
}
+ (NSString *)getMonthDayContent:(NSDate *)date
{
NVDate *currentNVDate = [[NVDate alloc] initUsingDate:date];
NSString *month = [self getContent:currentNVDate.month];
NSString *day = [self getContent:currentNVDate.day];
NSString *content = [NSString stringWithFormat:@"%@-%@",month,day];
return content;
}
+ (NSString *)getContent:(NSUInteger)count
{
if(count >= 10){
return [NSString stringWithFormat:@"%lu",(unsigned long)count];
}
return [NSString stringWithFormat:@"0%lu",(unsigned long)count];
}
+ (NSString *)getYYMMDDWithDate:(NSDate *)date {
// NSTimeZone *zome = [NSTimeZone systemTimeZone];
// NSTimeInterval seconds1 = [zome secondsFromGMTForDate:date];
// NSDate *date2 = [date dateByAddingTimeInterval:seconds1];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
formatter.dateFormat = @"yyyy-MM-dd";
NSString *dateStr = [formatter stringFromDate:date];
return dateStr;
}
+ (NSString *)getYYMMDDWithDateFormatter:(NSDate *)date {
// NSTimeZone *zome = [NSTimeZone systemTimeZone];
// NSTimeInterval seconds1 = [zome secondsFromGMTForDate:date];
// NSDate *date2 = [date dateByAddingTimeInterval:seconds1];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
formatter.dateFormat = YMLocalizedString(@"PLTimeUtil0");
NSString *dateStr = [formatter stringFromDate:date];
return dateStr;
}
+ (NSString *)getYYMMWithDate:(NSDate *)date {
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
formatter.dateFormat = YMLocalizedString(@"PLTimeUtil1");
NSString *dateStr = [formatter stringFromDate:date];
return dateStr;
}
+ (NSString *)getDateWithYYMMDD:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:YMLocalizedString(@"PLTimeUtil2")];
// 毫秒值转化为秒
NSString * times;
if ([self is32bit] && [[YYUtility systemVersion] floatValue] <= 10.0) {
times = [NSString stringWithFormat:@"%f", ([time doubleValue] + 3600 * 1000 * 8)];
}else{
times = time;
}
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[times longLongValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
+ (NSString *)getDateWitMMDDHHSS:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"MM-dd HH:mm"];
// 毫秒值转化为秒
NSString * times;
if ([self is32bit] && [[YYUtility systemVersion] floatValue] <= 10.0) {
times = [NSString stringWithFormat:@"%f", ([time doubleValue] + 3600 * 1000 * 8)];
}else{
times = time;
}
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[times longLongValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
+ (BOOL)is32bit
{
#if defined(__LP64__) && __LP64__
return NO;
#else
return YES;
#endif
}
+ (NSString *)getDateWithYYMM:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:YMLocalizedString(@"PLTimeUtil3")];
// 毫秒值转化为秒
NSString * times;
if ([self is32bit] && [[YYUtility systemVersion] floatValue] <= 10.0) {
times = [NSString stringWithFormat:@"%f", ([time doubleValue] + 3600 * 1000 * 8)];
}else{
times = time;
}
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[times doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
+ (NSString *)getDateWithMMDD:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:YMLocalizedString(@"PLTimeUtil4")];
// 毫秒值转化为秒
NSString * times;
if ([self is32bit] && [[YYUtility systemVersion] floatValue] <= 10.0) {
times = [NSString stringWithFormat:@"%f", ([time doubleValue] + 3600 * 1000 * 8)];
}else{
times = time;
}
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[times doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
+ (NSString *)getDateWithHHMMSS:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"HH:mm:ss"];
// 毫秒值转化为秒
NSString * times;
if ([self is32bit] && [[YYUtility systemVersion] floatValue] <= 10.0) {
times = [NSString stringWithFormat:@"%f", ([time doubleValue] + 3600 * 1000 * 8)];
}else{
times = time;
}
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[times doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
+ (NSString *)getDateWithTotalTimeWith:(NSString *)time {
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
formatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"yyyy.MM.dd HH:mm:ss"];
// 毫秒值转化为秒
NSString * times;
if ([self is32bit] && [[YYUtility systemVersion] floatValue] <= 10.0) {
times = [NSString stringWithFormat:@"%f", ([time doubleValue] + 3600 * 1000 * 8)];
}else{
times = time;
}
NSDate* date = [NSDate dateWithTimeIntervalSince1970:[times doubleValue]/ 1000.0];
NSString* dateString = [formatter stringFromDate:date];
return dateString;
}
+ (NSString *)getNowTimeTimestampMillisecond{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制
//设置时区,这个对于时间的处理有时很重要
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
NSTimeInterval a=[dat timeIntervalSince1970];
NSString * timeSp = [NSString stringWithFormat:@"%.0f", a];
return timeSp;
}
+ (NSDateComponents *)compareTwoDate:(NSDate *)firstDate secondDate:(NSDate *)secondDate {
// 当前日历
NSCalendar *calendar = [NSCalendar currentCalendar];
// 需要对比的时间数据
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth
| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
// 对比时间差
NSDateComponents *dateCom = [calendar components:unit fromDate:firstDate toDate:secondDate options:0];
return dateCom;
}
///计算年龄
+ (NSInteger)ageWithDateFromBirth:(NSInteger)birth{
// 出生日期转换 年月日
NSDate *date = [NSDate dateWithTimeIntervalSince1970:birth/1000];
NSDateComponents *components1 = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:date];
NSInteger brithDateYear = [components1 year];
NSInteger brithDateDay = [components1 day];
NSInteger brithDateMonth = [components1 month];
// 获取系统当前 年月日
NSDateComponents *components2 = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear fromDate:[NSDate date]];
NSInteger currentDateYear = [components2 year];
NSInteger currentDateDay = [components2 day];
NSInteger currentDateMonth = [components2 month];
// 计算年龄
NSInteger iAge = currentDateYear - brithDateYear - 1;
if ((currentDateMonth > brithDateMonth) || (currentDateMonth == brithDateMonth && currentDateDay >= brithDateDay)) {
iAge++;
}
return iAge;
}
@end