এ লুক এই পদ্ধতি যা ক্ষেত্র সমর্থিত দেখতে। আপনি এর জন্য পাবেন LocalDateTime
:
•NANO_OF_SECOND
•NANO_OF_DAY
•MICRO_OF_SECOND
•MICRO_OF_DAY
•MILLI_OF_SECOND
•MILLI_OF_DAY
•SECOND_OF_MINUTE
•SECOND_OF_DAY
•MINUTE_OF_HOUR
•MINUTE_OF_DAY
•HOUR_OF_AMPM
•CLOCK_HOUR_OF_AMPM
•HOUR_OF_DAY
•CLOCK_HOUR_OF_DAY
•AMPM_OF_DAY
•DAY_OF_WEEK
•ALIGNED_DAY_OF_WEEK_IN_MONTH
•ALIGNED_DAY_OF_WEEK_IN_YEAR
•DAY_OF_MONTH
•DAY_OF_YEAR
•EPOCH_DAY
•ALIGNED_WEEK_OF_MONTH
•ALIGNED_WEEK_OF_YEAR
•MONTH_OF_YEAR
•PROLEPTIC_MONTH
•YEAR_OF_ERA
•YEAR
•ERA
INSTANT_SECONDS ক্ষেত্রটি অবশ্যই - সমর্থিত নয় কারণ LocalDateTime
এটি কোনও পরম (গ্লোবাল) টাইমস্ট্যাম্পকে উল্লেখ করতে পারে না। তবে সহায়কটি হল EPOCH_DAY ক্ষেত্র যা 1970-01-01 থেকে অতিবাহিত দিন গণনা করে। অনুরূপ চিন্তাভাবনা প্রকারের জন্য বৈধ LocalDate
(আরও কম সমর্থিত ক্ষেত্র সহ)।
যদি আপনি অ-বিদ্যমান মিলিস-ই-ইউনিক্স-ইপোক ফিল্ডটি পেতে চান তবে আপনার স্থানীয় থেকে বৈশ্বিক ধরণের রূপান্তর করার জন্য টাইমজোনও প্রয়োজন। এই রূপান্তরটি অনেক সহজভাবে করা যেতে পারে, অন্যান্য এসও পোস্টগুলি দেখুন ।
আপনার প্রশ্নে এবং আপনার কোডের নম্বরগুলিতে ফিরে আসছেন:
The result 1605 is correct
=> (2014 - 1970) * 365 + 11 (leap days) + 31 (in january 2014) + 3 (in february 2014)
The result 71461 is also correct => 19 * 3600 + 51 * 60 + 1
16105L * 86400 + 71461 = 1970151-01T00 সাল থেকে 1391543461 সেকেন্ড: 00: 00 (মনোযোগ, টাইমজোন নেই) তারপরে আপনি টাইমজোন অফসেট বিয়োগ করতে পারেন (মিলিসেকেন্ডে যদি 1000 দ্বারা সম্ভব গুণনের জন্য নজর রাখুন)।
প্রদত্ত সময় অঞ্চল তথ্য পরে আপডেট করুন:
local time = 1391543461 secs
offset = 3600 secs (Europe/Oslo, winter time in february)
utc = 1391543461 - 3600 = 1391539861
দুটি সমতুল্য পদ্ধতির সাথে জেএসআর -310-কোড হিসাবে:
long secondsSinceUnixEpoch1 =
LocalDateTime.of(2014, 2, 4, 19, 51, 1).atZone(ZoneId.of("Europe/Oslo")).toEpochSecond();
long secondsSinceUnixEpoch2 =
LocalDate
.of(2014, 2, 4)
.atTime(19, 51, 1)
.atZone(ZoneId.of("Europe/Oslo"))
.toEpochSecond();