getTimezoneOffset()
জাভাস্ক্রিপ্টে পদ্ধতি, একটি ব্রাউজারে, 00:00 সময় অঞ্চল থেকে অফসেট মিনিট সংখ্যার উল্লেখ করে। উদাহরণস্বরূপ, ডাইটলাইট সেভিংসে (ডিএসটি) আমেরিকা / নিউ_ইয়র্ক সময় অঞ্চলটি 300 নম্বরটি দেয় 300 300 মিনিট শূন্য থেকে 5 ঘন্টার পার্থক্য। 60 মিনিট দ্বারা বিভক্ত 300 মিনিট 5 ঘন্টা। প্রতিটি টাইম জোনকে শূন্য সময় অঞ্চল, +00: 00 / ইত্যাদি / জিএমটি / গ্রিনিচ সময়ের সাথে তুলনা করা হয়।
MDN ওয়েব ডক্স
পরবর্তী জিনিসটি যা আপনাকে অবশ্যই জানতে হবে তা হ'ল অফসেটটিতে আসল টাইম জোনের বিপরীত চিহ্ন রয়েছে।
সময় অঞ্চল সম্পর্কে তথ্য ইন্টারনেট বরাদ্দকৃত সংখ্যা কর্তৃপক্ষ (আয়ন) দ্বারা পরিচালিত হয়
আয়নার সময় অঞ্চল
টাইম জোনের একটি সুন্দর বিন্যাসিত টেবিল joda.org সরবরাহ করে
জোদা-সময় সময় অঞ্চল
+00: 00 বা ইত্যাদি / GMT গ্রিনিচ সময়
সর্বকালের অঞ্চলগুলি +00: 00 / "ইত্যাদি / GMT" / গ্রিনউইচ সময় থেকে অফসেট করা হয়
ডাইটলাইট সেভিংস সময় গ্রীষ্মের "নিয়মিত" সময়ের চেয়ে সর্বদা আগের সময়। আপনি শরতের মরসুমে আপনার ঘড়ি আবার সেট করেছেন। ("পিছনে পড়া" স্লোগানটি কী করতে হবে তা মনে রাখতে)
সুতরাং, আমেরিকা / নিউ_ইয়র্ক সময় দিবালোক সঞ্চয় (শীতকালীন) সময় নিয়মিত সময়ের এক ঘন্টা আগে। সুতরাং, উদাহরণস্বরূপ, গ্রীষ্মে নিউইয়র্ক শহরে বিকেলে সাধারণত 5 টা বাজে যা এখন আমেরিকা / নিউ_ইয়র্ক সময় ডাইটলাইট সেভিংসে 4 টা বেজে যায়। "আমেরিকা / নিউ_ইয়র্ক" সময় নামটি "লং ফর্ম্যাট" টাইম জোনের নাম। মার্কিন পূর্ব উপকূল সাধারণত তাদের সময় অঞ্চলকে পূর্ব স্ট্যান্ডার্ড সময় (EST) বলে
আপনি যদি আজকের টাইম জোনের অফসেটকে অন্য কোনও তারিখের টাইম জোনের অফসেটের সাথে তুলনা করতে চান তবে আপনাকে জানতে হবে যে সময় অঞ্চলটির অফসেটের গাণিতিক চিহ্ন (+/- "ইতিবাচক / নেতিবাচক") টাইম জোনের বিপরীত।
Joda.org- এ সময় অঞ্চল সারণীটি দেখুন এবং "আমেরিকা / নিউ_ইয়র্ক" এর জন্য সময় অঞ্চলটি সন্ধান করুন এটি স্ট্যান্ডার্ড অফসেটের সামনে একটি নেতিবাচক চিহ্ন থাকতে পারে।
পৃথিবীটি তার অক্ষের উপরে ঘড়ির কাঁটার বিপরীতে ঘোরায়। নিউ ইয়র্ক সিটির কেউ সূর্যোদয় দেখার 5 ঘন্টা আগে গ্রিনউইচে সূর্যোদয় দেখেন এমন কোনও ব্যক্তি সূর্যোদয় দেখেন। মার্কিন যুক্তরাষ্ট্রের পশ্চিম উপকূলের কেউ সূর্যোদয় দেখে আমেরিকার পশ্চিম উপকূলের কেউ সূর্যোদয় দেখতে পাবে।
আপনার এই সমস্ত কিছু জানতে হবে এমন একটি কারণ রয়েছে। যাতে আপনি বছরের বিভিন্ন সময় প্রতিটি টাইম জোনের পরীক্ষা না করে কিছু জাভাস্ক্রিপ্ট কোড সঠিকভাবে ডিএসটি স্ট্যাটাস পাচ্ছেন কিনা তা যৌক্তিকভাবে নির্ধারণ করতে সক্ষম হবেন।
কল্পনা করুন যে এটি নিউইয়র্ক সিটির নভেম্বর, এবং ঘড়িগুলি এক ঘন্টা পিছনে ফিরে এসেছিল। নিউ ইয়র্ক সিটিতে গ্রীষ্মে, অফসেটটি 240 মিনিট বা 4 ঘন্টা হয়।
আপনি জুলাই মাসের একটি তারিখ তৈরি করে এবং তারপরে অফসেট পেয়ে পরীক্ষা করতে পারেন।
var July_Date = new Date(2017, 6, 1);
var july_Timezone_OffSet = July_Date.getTimezoneOffset();
console.log('july_Timezone_OffSet: ' + july_Timezone_OffSet)
ব্রাউজারের বিকাশকারী সরঞ্জামগুলির কনসোল লগটি কী মুদ্রণ করবে?
উত্তর: 240
সুতরাং, এখন আপনি জানুয়ারীতে একটি তারিখ তৈরি করতে পারেন এবং শীত মৌসুমে অফসেট টাইম জোনের জন্য আপনার ব্রাউজারটি কী ফিরিয়ে দেয় তা দেখতে পারেন।
var Jan_Date = new Date(2017, 0, 1);//Month is zero indexed - Jan is zero
var jan_Timezone_OffSet = Jan_Date.getTimezoneOffset();
console.log('jan_Timezone_OffSet: ' + jan_Timezone_OffSet)
উত্তর: 300
স্পষ্টতই 300 এর চেয়ে বড় 240. সুতরাং, এর অর্থ কী? শীতের অফসেট গ্রীষ্মের অফসেটের চেয়ে বড় হওয়ার জন্য পরীক্ষা করা কোডগুলি কি আপনার লেখা উচিত? বা গ্রীষ্মে অফসেট শীতের চেয়ে কম অফসেট? গ্রীষ্ম এবং শীতের সময় অঞ্চল অফসেটগুলির মধ্যে যদি কোনও পার্থক্য থাকে তবে আপনি ধরে নিতে পারেন যে এই সময় অঞ্চলের জন্য ডিএসটি ব্যবহৃত হচ্ছে। কিন্তু আজ আপনাকে ব্রাউজারগুলির সময় অঞ্চলের জন্য ডিএসটি ব্যবহার করছে কিনা তা আপনাকে জানায় না । সুতরাং, আপনাকে আজকের জন্য সময় অঞ্চলটি অফসেট করা দরকার।
var today = new Date();
var todaysTimeZone = today.getTimezoneOffset();
console.log('todaysTimeZone : ' + todaysTimeZone)
উত্তর:? - বছরের সময় উপর নির্ভর করে
যদি আজকের টাইম জোন অফসেট হয় এবং গ্রীষ্মের সময় অঞ্চল অফসেট একই রকম হয় এবং গ্রীষ্ম এবং শীতের সময় অঞ্চল অফসেটগুলি পৃথক হয়, তবে যৌক্তিক ছাড়ের দ্বারা, আজ অবশ্যই ডিএসটি হতে হবে না।
আপনি গ্রীষ্ম এবং শীতের সময় অঞ্চল অফসেটের তুলনা বাদ দিতে পারেন, (এই সময় অঞ্চলের জন্য ডিএসটি ব্যবহৃত হয় কিনা তা জানতে) এবং কেবল আজকের টাইম অঞ্চলকে গ্রীষ্মের টিজেড অফসেটের সাথে তুলনা করুন এবং সর্বদা সঠিক উত্তর পাবেন?
today's TZ Offset !== Summer TZ Offset
আচ্ছা, আজ কি শীত নাকি গ্রীষ্মে? যদি আপনি জানতেন তবে নীচের যুক্তিটি প্রয়োগ করতে পারেন:
if ( it_is_winter && ( todays_TZ_Offset !== summer_TZ_Offset) {
var are_We_In_DST = true;
}
তবে সমস্যাটি হ'ল, আপনি জানেন না যে আজকের তারিখটি শীত বা গ্রীষ্মে আছে কিনা। প্রতি সময় অঞ্চলে ডিএসটি কখন শুরু হবে এবং বন্ধ হবে তার নিজস্ব নিয়ম থাকতে পারে। আপনাকে বিশ্বের প্রতিটি টাইম জোনের জন্য প্রতিটি টাইম জোনের নিয়মগুলি ট্র্যাক করে রাখতে হবে। সুতরাং, যদি আরও ভাল এবং সহজ উপায় হয় তবে আপনি এটি আরও ভাল এবং সহজ উপায়ে করতে পারেন।
আমাদের যেটি অবশিষ্ট রয়েছে, তা হ'ল এই টাইম জোনটি ডিএসটি ব্যবহার করে কিনা তা আপনার জানা দরকার এবং তারপরে গ্রীষ্মকালীন টাইম জোনের অফসেটের সাথে অফসেটের আজকের টাইম অঞ্চলকে তুলনা করুন। এটি সর্বদা আপনাকে একটি নির্ভরযোগ্য উত্তর দেবে।
চূড়ান্ত যুক্তি হ'ল:
if ( DST_Is_Used_In_This_Time_Zone && ( todays_TZ_Offset !== summer_TZ_Offset) {
var are_We_In_DST = true;
}
ব্রাউজারের সময় অঞ্চলটি ডিএসটি ব্যবহার করে কিনা তা নির্ধারণের জন্য কার্য:
function is_DST_Used_In_This_TimeZone() {
var Jan_Date, jan_Timezone_OffSet, July_Date, july_Timezone_OffSet
offsetsNotEqual, thisYear, today;
today = new Date();//Create a date object that is now
thisYear = today.getFullYear();//Get the year as a number
Jan_Date = new Date(thisYear, 0, 1);//Month is zero indexed - Jan is zero
jan_Timezone_OffSet = Jan_Date.getTimezoneOffset();
console.log('jan_Timezone_OffSet: ' + jan_Timezone_OffSet)
July_Date = new Date(thisYear, 6, 1);
july_Timezone_OffSet = July_Date.getTimezoneOffset();
console.log('july_Timezone_OffSet: ' + july_Timezone_OffSet)
offsetsNotEqual = july_Timezone_OffSet !== jan_Timezone_OffSet;//True if not equal
console.log('offsetsNotEqual: ' + offsetsNotEqual);
return offsetsNotEqual;//If the offsets are not equal for summer and
//winter then the only possible reason is that DST is used for
//this time zone
}
getTimezoneOffset
বিপরীত মানটি প্রত্যাবর্তন করে, তাইMath.max
প্রকৃতপক্ষে মানসম্পন্ন অফসেটটি ফিরিয়ে দিচ্ছে । কোডটি সঠিক।