উত্তর:
আমি বিশ্বাস করি এটি হ'ল এনএসডেটের নির্বাচক যা আপনি খুঁজছেন:
- (NSTimeInterval)timeIntervalSince1970
একটি ইউনিক্স টাইমস্ট্যাম্পটি 00:00:00 ইউটিসি জানুয়ারী 1, 1970 থেকে সেকেন্ডের সংখ্যা It's এটি টাইম_টি টাইপ দ্বারা প্রতিনিধিত্ব করে , যা সাধারণত স্বাক্ষরিত 32-বিট পূর্ণসংখ্যার টাইপ (দীর্ঘ বা আন্ত ) হয়।
আইওএস সরবরাহ করে - এনএসডিট অবজেক্টগুলির জন্য (এনএসটাইমইন্টারভাল) সময় ইনট্রাওয়ালসিনস ১৯৯০ যা 00:00:00 জিএমটি জানুয়ারী 1, 1970 থেকে সেকেন্ডের সংখ্যা ফিরে আসে N
যেহেতু উভয়ের উভয়ই একই রেফারেন্স রয়েছে (মধ্যরাত 1 জানুয়ারী 7070 ইউটিসি) এবং রূপান্তরটি সহজভাবে উভয়ই সেকেন্ডে হওয়ায় আপনার প্রয়োজনের উপর ভিত্তি করে এনএসটিমেইন্টারওয়ালকে একটি সময়_তে রূপান্তর করুন:
time_t unixTime = (time_t) [[NSDate date] timeIntervalSince1970];
int unixTime = floor([piece.piece_last_view timeIntervalSince1970])
টুকরো.পিস.এল_ভিউ একটি এনএসডিট
আপনি কোনও তারিখ থেকে এইভাবে একটি ইউনিক্স টাইমস্ট্যাম্প তারিখ তৈরি করতে পারেন:
NSTimeInterval timestamp = [[NSDate date] timeIntervalSince1970];
- (void)GetCurrentTimeStamp
{
NSDateFormatter *objDateformat = [[NSDateFormatter alloc] init];
[objDateformat setDateFormat:@"yyyy-MM-dd"];
NSString *strTime = [objDateformat stringFromDate:[NSDate date]];
NSString *strUTCTime = [self GetUTCDateTimeFromLocalTime:strTime];//You can pass your date but be carefull about your date format of NSDateFormatter.
NSDate *objUTCDate = [objDateformat dateFromString:strUTCTime];
long long milliseconds = (long long)([objUTCDate timeIntervalSince1970] * 1000.0);
NSString *strTimeStamp = [Nsstring stringwithformat:@"%lld",milliseconds];
NSLog(@"The Timestamp is = %@",strTimestamp);
}
- (NSString *) GetUTCDateTimeFromLocalTime:(NSString *)IN_strLocalTime
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *objDate = [dateFormatter dateFromString:IN_strLocalTime];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSString *strDateTime = [dateFormatter stringFromDate:objDate];
return strDateTime;
}
দ্রষ্টব্য: - টাইমস্ট্যাম্পটি অবশ্যই ইউটিসি জোনে থাকা উচিত, তাই আমি আমাদের স্থানীয় সময়টিকে ইউটিসি সময়ের সাথে রূপান্তর করি।
সুইফট 3-এর জন্য আপডেট করা হয়েছে
// current date and time
let someDate = Date()
// time interval since 1970
let myTimeStamp = someDate.timeIntervalSince1970
মন্তব্য
timeIntervalSince1970
প্রত্যাবর্তন TimeInterval
, যা একটি টাইপালিয়াস Double
।
আপনি যদি অন্যভাবে যেতে চান তবে নিম্নলিখিতগুলি করতে পারতেন:
let myDate = Date(timeIntervalSince1970: myTimeStamp)
আপনি যদি এই সময়টিকে একটি ডাটাবেসে সঞ্চয় করতে চান বা সার্ভারের মাধ্যমে পাঠাতে চান ... ইউনিক্স টাইমস্ট্যাম্প ব্যবহার করা ভাল। এটি পেতে এখানে একটি ছোট স্নিপেট রয়েছে:
+ (NSTimeInterval)getUTCFormateDate{
NSDateComponents *comps = [[NSCalendar currentCalendar]
components:NSDayCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit
fromDate:[NSDate date]];
[comps setHour:0];
[comps setMinute:0];
[comps setSecond:[[NSTimeZone systemTimeZone] secondsFromGMT]];
return [[[NSCalendar currentCalendar] dateFromComponents:comps] timeIntervalSince1970];
}
[[NSTimeZone systemTimeZone] secondsFromGMT]]
? একটু ব্যাখ্যা করুন।
@ কক্সিকের পরামর্শ অনুসারে ইউনিক্স সময় ফাংশনটি নীচে ব্যবহার করুন:
time_t result = time(NULL);
NSLog([NSString stringWithFormat:@"The current Unix epoch time is %d",(int)result]);
.আমাদের অভিজ্ঞতা অনুসারে - সময় অন্তর্বর্তী সাইন ১৯৯০ ব্যবহার করবেন না, এটি যুগের টাইমস্ট্যাম্প দেয় - আপনি জিএমটির পিছনে থাকা সেকেন্ডের সংখ্যা।
[[এনএসডি তারিখ] টাইমইন্টারওয়ালসিনস ১৯৯০] এর সাথে একটি বাগ থাকত, এটি ফোনের টাইমজোনকে ভিত্তি করে সময় যোগ / বিয়োগ করত তবে এখনই এটি সমাধান হয়েছে বলে মনে হয়।
[NSString stringWithFormat: @"first unixtime is %ld",message,(long)[[NSDate date] timeIntervalSince1970]];
[NSString stringWithFormat: @"second unixtime is %ld",message,[[NSDate date] timeIntervalSince1970]];
[NSString stringWithFormat: @"third unixtime is %.0f",message,[[NSDate date] timeIntervalSince1970]];
প্রথম ইউনিক্সটাইম 1532278070
দ্বিতীয় ইউনিক্সটাইম 1532278070.461380
তৃতীয় ইউনিক্সটাইম 1532278070