কোনও স্ট্রিং প্রতিনিধিত্ব না করে একটি সেট টাইমজোন দিয়ে একটি তারিখ তৈরি করুন


412

দিন, মাস এবং বছরের জন্য তিনটি ড্রপডাউন সহ আমার একটি ওয়েব পৃষ্ঠা রয়েছে। আমি যদি জাভাস্ক্রিপ্ট Dateকনস্ট্রাক্টর ব্যবহার করি যা সংখ্যা নেয়, তবে আমি Dateআমার বর্তমান টাইমজোনটির জন্য একটি বস্তু পাই :

new Date(xiYear, xiMonth, xiDate)

সঠিক তারিখ দিন, তবে এটি মনে করে যে তারিখটি GMT + 01: 00 হিসাবে দিনের আলোর সঞ্চয়ের সময় রয়েছে।

এখানে সমস্যাটি হ'ল আমি তখন Dateএটি একটি অ্যাজাক্স পদ্ধতিতে পাস করি এবং যখন সার্ভারে তারিখটি ডিজিটাইজ করা হয় তখন এটি GMT এ রূপান্তরিত হয় এবং তাই এক ঘন্টা হারাতে থাকে যা দিনটিকে একে একে পিছিয়ে দেয়। এখন আমি কেবল দিন, মাস এবং বছর পৃথকভাবে অ্যাজাক্স পদ্ধতিতে পার করতে পারি, তবে মনে হয় এর থেকে আরও ভাল উপায় হওয়া উচিত।

গৃহীত উত্তরটি আমাকে সঠিক দিকে চিহ্নিত করেছে, তবে কেবল setUTCHours()নিজের দ্বারা পরিবর্তন করা হয়েছে:

Apr 5th 00:00 GMT+01:00 

প্রতি

Apr 4th 23:00 GMT+01:00

এরপরে আমাকে ইউটিসির তারিখ, মাস এবং বছর নির্ধারণ করতে হয়েছিল with

Apr 5th 01:00 GMT+01:00

যা আমি চেয়েছিলাম


9
যদি গৃহীত উত্তরটি আপনাকে সঠিক দিকে নির্দেশ করে তবে আপনার প্রশ্নের উত্তর না দেয় তবে আমি যুক্তি দেব যে এটি গ্রহণযোগ্য উত্তর হওয়া উচিত নয়। উত্তরের জিজ্ঞাসিত প্রশ্নের উত্তর দেওয়া উচিত।
TWR কোল

উত্তর:


481

.setUTCHours()এটি ব্যবহার করে প্রকৃতপক্ষে ইউটিসি-সময়ে তারিখগুলি নির্ধারণ করা সম্ভব হবে, যা আপনাকে পুরো সিস্টেম জুড়ে ইউটিসি-সময় ব্যবহারের অনুমতি দেবে।

আপনি তারিখের স্ট্রিং উল্লেখ না করে আপনি কনস্ট্রাক্টারে ইউটিসি ব্যবহার করে সেট করতে পারবেন না।

new Date(Date.UTC(year, month, day, hour, minute, second))আপনি ব্যবহার করে নির্দিষ্ট ইউটিসি সময় থেকে একটি তারিখ-অবজেক্ট তৈরি করতে পারেন।


101
"নতুন তারিখ (তারিখ.ইউটিসি (...)" সিনট্যাক্স আপনাকে এমন একটি তারিখ তৈরি করতে দেয় যা কোনও ইউটিসি তারিখের সমতুল্য যে সময়টি উপস্থাপিত হয় তার তুলনায়, তবে এটি একই নয় - এর একটি রয়েছে বিভিন্ন (ইউটিসিবিহীন) সময় অঞ্চল।
অ্যান্টনি

52
মনে রাখবেন যে "তারিখ" ব্যবহার করার সময় "মাস" -মূল্যের 0-10 থেকে (1-12 নয়) রেঞ্জ থাকে। আমি 2 ঘন্টার টাইমজোন-অফসেট পেয়েছি (এটি 1 ঘন্টা হওয়া উচিত ছিল) এবং কারণটি একটি ভুল মাস ছিল তা জানতে আমার কয়েক ঘন্টা সময় লেগেছে।

4
এই উত্তর দুর্দান্ত। তবে আমি একটি লাইব্রেরি [তারিখপিকারী ইউআই] ব্যবহার করছি যা অনেক জায়গায় নতুন তারিখ ব্যবহার করছে। আমি যা চাই তা হ'ল ইউটিসি টাইমজোন সেট করা এবং প্রতিটি তারিখ নতুন টাইমজোন অনুযায়ী। আমি অবাক হয়েছি জাভাস্ক্রিপ্ট এর জন্য কিছুই নেই।
সঞ্জীব কুমার ডাঙ্গি

6
@ জিশি — তারিখের অবজেক্টগুলি কোনও ইউটিসি সময় মানের উপর ভিত্তি করে, স্থানীয় সময় নয়। তবে, ডিফল্ট তারিখ.প্রোটোটাইপ.টো স্ট্রিং পদ্ধতি স্থানীয় সময় মানগুলি প্রদর্শন করবে ।
রবজি

5
@ অ্যান্টনি— " তবে এটি একই সময় নয় " সঠিক নয়। এটি সময়ে ঠিক একই মুহূর্তের প্রতিনিধিত্ব করে, কেবলমাত্র পার্থক্য হ'ল টাইমজোন অফসেট।
রবজি 20'15

198
var d = new Date(xiYear, xiMonth, xiDate);
d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );

এই উত্তরটি মূল প্রশ্নের সাথে বিশেষভাবে তৈরি করা হয়েছে এবং আপনি যে উত্তরটি আশা করছেন তা দেবে না। বিশেষত, কিছু লোক টাইমজোন এটির পরিবর্তে অফসেটটি বিয়োগ করতে চায়। তবে মনে রাখবেন যে এই সমাধানের পুরো বিষয়টি হ'ল জাভাস্ক্রিপ্টের তারিখ অবজেক্ট নির্দিষ্ট deserialization জন্য হ্যাক করা, সব ক্ষেত্রেই সঠিক হবে না।


62
@gthmb অবশ্যই, তবে আমি মনে করি *60*1000এটি এ ক্ষেত্রে আরও স্পষ্ট; অন্য কথায়, এটি কেন এটি মোটামুটি স্ব-স্পষ্ট ident
TWR কোল

22
এটি প্রায় আমার জন্য কাজ করে, আমার সময় অঞ্চলটির সঠিক সময় পাওয়ার জন্য আমাকে + (প্লাস) এর পরিবর্তে (বিয়োগ) ব্যবহার করতে হবে।
উইটজে

3
হ্যাঁ, অন্যরা যেমন উল্লেখ করেছে - আমি মনে করি এই উত্তরটিতে কোনও ভুল আছে। বিয়োগফল হওয়া উচিত Should
আপক্রিক

3
মতে developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/... getTimezoneOffset দ্বারা ফিরে মান প্রকৃত সময় আপনি একাউন্টে ডিএসটি গ্রহণ সহ ফাংশন, কল আপনার লোকেলে অফসেট অনুযায়ী সাইন করা হয়েছে, সুতরাং আপনাকে কেন এটি বিয়োগ করতে হবে তা আমি বুঝতে পারি না।
TWR কোল

15
আপনি যদি তারিখের অবজেক্টে টাইমজোনঅফসেট যুক্ত করেন তবে স্থানীয় সময় অঞ্চলটিতে ফর্ম্যাট করা হিসাবে এর মানটি ইউটিসি-তে সঠিক মানের মতো দেখাবে, তবে এটিতে এখনও মূল টাইমজোন অফসেট থাকবে (এবং "আইএসওএসটিং" এর মতো কিছু উপস্থাপনা আসলে এটি প্রদর্শিত হবে)। সুতরাং আপনি কীভাবে তারিখের অবজেক্টটি সিরিয়াল করবেন তার উপর নির্ভর করে জেএস আপনাকে ভুল উত্তর দিয়ে টাইমজোনটি অফসেটটি আবার প্রয়োগ করতে পারে । আমি বিশ্বাস করি যে +/- এর মধ্যে এই মন্তব্যগুলিতে বিভ্রান্তির জন্য এটি দায়ী। যাইহোক, আমার ডাউনটোটটি এই বাস্তবতার জন্য এবং "বেশিরভাগ ক্ষেত্রে আপনি যা প্রত্যাশা করেন তা পান" for
মেটাম্যাট

173

আমি বিশ্বাস করি আপনার তৈরিডেটএএসইউটিসি ফাংশন প্রয়োজন (দয়া করে রূপান্তর ডেটটিওটসির সাথে তুলনা করুন )

function createDateAsUTC(date) {
    return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()));
}

function convertDateToUTC(date) { 
    return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds()); 
}

36
আমি তার উত্তর স্পষ্টতা এবং উপকারিতা সম্পর্কে অবাক। জানতেন না যে জাভাস্ক্রিপ্টের তারিখগুলি নিয়ে কাজ করা আজ অবধি এক দুঃস্বপ্ন: এস
উইল 824

দুজনের মধ্যে পার্থক্য বোঝাচ্ছে মন? প্রথমটি dateইউটিসি টাইমজোনতে রূপান্তরিত করে, তবে দ্বিতীয়টি কার্যকর কিছু করছে না বলে মনে হচ্ছে? (হিসাবে একই তারিখ ফেরত date)
জোনাথন লিন

4
আমি এটি এখনই পেয়েছি: ইউটিসি টাইম জোনে প্রথম তারিখটি স্থানীয় সময়ের আক্ষরিক তারিখের মান দিয়ে দেয়। দ্বিতীয়টি স্থানীয় সময় অঞ্চলে তারিখটি প্রদান করে তবে ইউটিসি আক্ষরিক তারিখের মানগুলির সাথে।
জনাথন লিন

8
এই পন্থাটি হ'ল "ইউপ শিফটিং" নামক একটি প্যাটার্নের বাস্তবায়ন, যা ইপোকটি (যা ইউটিসি ভিত্তিক) বর্তমান সময় অঞ্চল অফসেটে স্থানান্তরিত করে এমন একটিতে স্থানান্তরিত করার উদ্দেশ্যে তৈরি হয়েছিল। দুর্ভাগ্যক্রমে, যদিও এটি সাধারণত দেখা যায়, এই পদ্ধতির ত্রুটি রয়েছে। জাভাস্ক্রিপ্টের Dateঅবজেক্টটি সর্বদা ইউটিসি-ভিত্তিক ইউনিক্স যুগ এবং স্থানীয় সময় অঞ্চলকে প্রতিফলিত করবে । আপনি toStringফলাফলের তারিখ অবজেক্টটিতে কল করার পরে এবং স্থানীয় সময় অঞ্চলটি দেখতে পারা লক্ষণটি লক্ষণটি আপাতদৃষ্টিতে প্রকাশিত হলেও আপনি এটি ইউটিসিতে থাকার প্রত্যাশা করেছেন।
ম্যাট জনসন-পিন্ট

2
এটি স্থানীয় সময় অঞ্চলের দিবালোক সংরক্ষণ সময় স্থানান্তরের নিকটে, সময় মানগুলিতে ত্রুটি সৃষ্টি করতে পারে। সংক্ষেপে, যুগের শিফটিং (যে কোনও প্রয়োগের মাধ্যমে) জাভাস্ক্রিপ্ট Dateঅবজেক্টের সাথে কাজ করে না । এখানে এটি দেখার আরও একটি উপায় হ'ল Date.UTCইউটিসি-ভিত্তিক মানগুলি প্রত্যাশা করে এবং আপনি এটিকে স্থানীয় সময়ের মানগুলি এবং Dateকন্সট্রাক্টরের সাথে ভিস-বিপরীতে খাওয়ান ।
ম্যাট জনসন-পিন্ট

70

কেবল সময় অঞ্চল নির্ধারণ করুন এবং সে অনুযায়ী ফিরে আসুন

new Date().toLocaleString("en-US", {timeZone: "America/New_York"})

অন্যান্য সময় অঞ্চলগুলি নিম্নলিখিত হিসাবে রয়েছে

var world_timezones =
[
    'Europe/Andorra',
    'Asia/Dubai',
    'Asia/Kabul',
    'Europe/Tirane',
    'Asia/Yerevan',
    'Antarctica/Casey',
    'Antarctica/Davis',
    'Antarctica/DumontDUrville', 
    'Antarctica/Mawson',
    'Antarctica/Palmer',
    'Antarctica/Rothera',
    'Antarctica/Syowa',
    'Antarctica/Troll',
    'Antarctica/Vostok',
    'America/Argentina/Buenos_Aires',
    'America/Argentina/Cordoba',
    'America/Argentina/Salta',
    'America/Argentina/Jujuy',
    'America/Argentina/Tucuman',
    'America/Argentina/Catamarca',
    'America/Argentina/La_Rioja',
    'America/Argentina/San_Juan',
    'America/Argentina/Mendoza',
    'America/Argentina/San_Luis',
    'America/Argentina/Rio_Gallegos',
    'America/Argentina/Ushuaia',
    'Pacific/Pago_Pago',
    'Europe/Vienna',
    'Australia/Lord_Howe',
    'Antarctica/Macquarie',
    'Australia/Hobart',
    'Australia/Currie',
    'Australia/Melbourne',
    'Australia/Sydney',
    'Australia/Broken_Hill',
    'Australia/Brisbane',
    'Australia/Lindeman',
    'Australia/Adelaide',
    'Australia/Darwin',
    'Australia/Perth',
    'Australia/Eucla',
    'Asia/Baku',
    'America/Barbados',
    'Asia/Dhaka',
    'Europe/Brussels',
    'Europe/Sofia',
    'Atlantic/Bermuda',
    'Asia/Brunei',
    'America/La_Paz',
    'America/Noronha',
    'America/Belem',
    'America/Fortaleza',
    'America/Recife',
    'America/Araguaina',
    'America/Maceio',
    'America/Bahia',
    'America/Sao_Paulo',
    'America/Campo_Grande',
    'America/Cuiaba',
    'America/Santarem',
    'America/Porto_Velho',
    'America/Boa_Vista',
    'America/Manaus',
    'America/Eirunepe',
    'America/Rio_Branco',
    'America/Nassau',
    'Asia/Thimphu',
    'Europe/Minsk',
    'America/Belize',
    'America/St_Johns',
    'America/Halifax',
    'America/Glace_Bay',
    'America/Moncton',
    'America/Goose_Bay',
    'America/Blanc-Sablon',
    'America/Toronto',
    'America/Nipigon',
    'America/Thunder_Bay',
    'America/Iqaluit',
    'America/Pangnirtung',
    'America/Atikokan',
    'America/Winnipeg',
    'America/Rainy_River',
    'America/Resolute',
    'America/Rankin_Inlet',
    'America/Regina',
    'America/Swift_Current',
    'America/Edmonton',
    'America/Cambridge_Bay',
    'America/Yellowknife',
    'America/Inuvik',
    'America/Creston',
    'America/Dawson_Creek',
    'America/Fort_Nelson',
    'America/Vancouver',
    'America/Whitehorse',
    'America/Dawson',
    'Indian/Cocos',
    'Europe/Zurich',
    'Africa/Abidjan',
    'Pacific/Rarotonga',
    'America/Santiago',
    'America/Punta_Arenas',
    'Pacific/Easter',
    'Asia/Shanghai',
    'Asia/Urumqi',
    'America/Bogota',
    'America/Costa_Rica',
    'America/Havana',
    'Atlantic/Cape_Verde',
    'America/Curacao',
    'Indian/Christmas',
    'Asia/Nicosia',
    'Asia/Famagusta',
    'Europe/Prague',
    'Europe/Berlin',
    'Europe/Copenhagen',
    'America/Santo_Domingo',
    'Africa/Algiers',
    'America/Guayaquil',
    'Pacific/Galapagos',
    'Europe/Tallinn',
    'Africa/Cairo',
    'Africa/El_Aaiun',
    'Europe/Madrid',
    'Africa/Ceuta',
    'Atlantic/Canary',
    'Europe/Helsinki',
    'Pacific/Fiji',
    'Atlantic/Stanley',
    'Pacific/Chuuk',
    'Pacific/Pohnpei',
    'Pacific/Kosrae',
    'Atlantic/Faroe',
    'Europe/Paris',
    'Europe/London',
    'Asia/Tbilisi',
    'America/Cayenne',
    'Africa/Accra',
    'Europe/Gibraltar',
    'America/Godthab',
    'America/Danmarkshavn',
    'America/Scoresbysund',
    'America/Thule',
    'Europe/Athens',
    'Atlantic/South_Georgia',
    'America/Guatemala',
    'Pacific/Guam',
    'Africa/Bissau',
    'America/Guyana',
    'Asia/Hong_Kong',
    'America/Tegucigalpa',
    'America/Port-au-Prince',
    'Europe/Budapest',
    'Asia/Jakarta',
    'Asia/Pontianak',
    'Asia/Makassar',
    'Asia/Jayapura',
    'Europe/Dublin',
    'Asia/Jerusalem',
    'Asia/Kolkata',
    'Indian/Chagos',
    'Asia/Baghdad',
    'Asia/Tehran',
    'Atlantic/Reykjavik',
    'Europe/Rome',
    'America/Jamaica',
    'Asia/Amman',
    'Asia/Tokyo',
    'Africa/Nairobi',
    'Asia/Bishkek',
    'Pacific/Tarawa',
    'Pacific/Enderbury',
    'Pacific/Kiritimati',
    'Asia/Pyongyang',
    'Asia/Seoul',
    'Asia/Almaty',
    'Asia/Qyzylorda',
    'Asia/Qostanay', 
    'Asia/Aqtobe',
    'Asia/Aqtau',
    'Asia/Atyrau',
    'Asia/Oral',
    'Asia/Beirut',
    'Asia/Colombo',
    'Africa/Monrovia',
    'Europe/Vilnius',
    'Europe/Luxembourg',
    'Europe/Riga',
    'Africa/Tripoli',
    'Africa/Casablanca',
    'Europe/Monaco',
    'Europe/Chisinau',
    'Pacific/Majuro',
    'Pacific/Kwajalein',
    'Asia/Yangon',
    'Asia/Ulaanbaatar',
    'Asia/Hovd',
    'Asia/Choibalsan',
    'Asia/Macau',
    'America/Martinique',
    'Europe/Malta',
    'Indian/Mauritius',
    'Indian/Maldives',
    'America/Mexico_City',
    'America/Cancun',
    'America/Merida',
    'America/Monterrey',
    'America/Matamoros',
    'America/Mazatlan',
    'America/Chihuahua',
    'America/Ojinaga',
    'America/Hermosillo',
    'America/Tijuana',
    'America/Bahia_Banderas',
    'Asia/Kuala_Lumpur',
    'Asia/Kuching',
    'Africa/Maputo',
    'Africa/Windhoek',
    'Pacific/Noumea',
    'Pacific/Norfolk',
    'Africa/Lagos',
    'America/Managua',
    'Europe/Amsterdam',
    'Europe/Oslo',
    'Asia/Kathmandu',
    'Pacific/Nauru',
    'Pacific/Niue',
    'Pacific/Auckland',
    'Pacific/Chatham',
    'America/Panama',
    'America/Lima',
    'Pacific/Tahiti',
    'Pacific/Marquesas',
    'Pacific/Gambier',
    'Pacific/Port_Moresby',
    'Pacific/Bougainville',
    'Asia/Manila',
    'Asia/Karachi',
    'Europe/Warsaw',
    'America/Miquelon',
    'Pacific/Pitcairn',
    'America/Puerto_Rico',
    'Asia/Gaza',
    'Asia/Hebron',
    'Europe/Lisbon',
    'Atlantic/Madeira',
    'Atlantic/Azores',
    'Pacific/Palau',
    'America/Asuncion',
    'Asia/Qatar',
    'Indian/Reunion',
    'Europe/Bucharest',
    'Europe/Belgrade',
    'Europe/Kaliningrad',
    'Europe/Moscow',
    'Europe/Simferopol',
    'Europe/Kirov',
    'Europe/Astrakhan',
    'Europe/Volgograd',
    'Europe/Saratov',
    'Europe/Ulyanovsk',
    'Europe/Samara',
    'Asia/Yekaterinburg',
    'Asia/Omsk',
    'Asia/Novosibirsk',
    'Asia/Barnaul',
    'Asia/Tomsk',
    'Asia/Novokuznetsk',
    'Asia/Krasnoyarsk',
    'Asia/Irkutsk',
    'Asia/Chita',
    'Asia/Yakutsk',
    'Asia/Khandyga',
    'Asia/Vladivostok',
    'Asia/Ust-Nera',
    'Asia/Magadan',
    'Asia/Sakhalin',
    'Asia/Srednekolymsk',
    'Asia/Kamchatka',
    'Asia/Anadyr',
    'Asia/Riyadh',
    'Pacific/Guadalcanal',
    'Indian/Mahe',
    'Africa/Khartoum',
    'Europe/Stockholm',
    'Asia/Singapore',
    'America/Paramaribo',
    'Africa/Juba',
    'Africa/Sao_Tome',
    'America/El_Salvador',
    'Asia/Damascus',
    'America/Grand_Turk',
    'Africa/Ndjamena',
    'Indian/Kerguelen',
    'Asia/Bangkok',
    'Asia/Dushanbe',
    'Pacific/Fakaofo',
    'Asia/Dili',
    'Asia/Ashgabat',
    'Africa/Tunis',
    'Pacific/Tongatapu',
    'Europe/Istanbul',
    'America/Port_of_Spain',
    'Pacific/Funafuti',
    'Asia/Taipei',
    'Europe/Kiev',
    'Europe/Uzhgorod',
    'Europe/Zaporozhye',
    'Pacific/Wake',
    'America/New_York',
    'America/Detroit',
    'America/Kentucky/Louisville',
    'America/Kentucky/Monticello',
    'America/Indiana/Indianapolis',
    'America/Indiana/Vincennes',
    'America/Indiana/Winamac',
    'America/Indiana/Marengo',
    'America/Indiana/Petersburg',
    'America/Indiana/Vevay',
    'America/Chicago',
    'America/Indiana/Tell_City',
    'America/Indiana/Knox',
    'America/Menominee',
    'America/North_Dakota/Center',
    'America/North_Dakota/New_Salem',
    'America/North_Dakota/Beulah',
    'America/Denver',
    'America/Boise',
    'America/Phoenix',
    'America/Los_Angeles',
    'America/Anchorage',
    'America/Juneau',
    'America/Sitka',
    'America/Metlakatla',
    'America/Yakutat',
    'America/Nome',
    'America/Adak',
    'Pacific/Honolulu',
    'America/Montevideo',
    'Asia/Samarkand',
    'Asia/Tashkent',
    'America/Caracas',
    'Asia/Ho_Chi_Minh',
    'Pacific/Efate',
    'Pacific/Wallis',
    'Pacific/Apia',
    'Africa/Johannesburg'
];

8
এটি শীর্ষে উঠতে হবে
ইউজিন

এটি কিছু ব্রাউজারে কাজ করে না সে সম্পর্কে সচেতন থাকুন। যেমন। IE11।
পল লেবিউ

আইই কনসোলে ত্রুটি: 'টাইমজোন'-এর বিকল্প মান' আমেরিকা / নিউ_ইয়র্ক 'বৈধ ব্যাপ্তির বাইরে। প্রত্যাশিত: ['ইউটিসি'] @
ওলোঘো

1
খুব সহজ, খুব মার্জিত। আপনি এখানে সমস্ত টাইমজোনস স্ট্যাকওভারফ্লো / কোয়েশনস / ৩৩৮৯৯৪65৫/২ সহ একটি তালিকা পেতে পারেন । ইউটিসির জন্য লন্ডনের সময় অঞ্চল বেছে নিন।
EPurpl3

1
এই মানগুলির মধ্যে কোনওটিই "টাইমজোনস" নয়, তারা একই জায়গায় historicতিহাসিক স্থানীয় সময় অঞ্চল এবং দিবালোক সংরক্ষণের পরিবর্তনগুলি রয়েছে এমন জায়গাগুলির জন্য আইএএনএ টাইমজোন ডেটাবেস প্রতিনিধি অবস্থান।
রবজি

28

এটি সম্ভব বলে আমি বিশ্বাস করি না - এটি তৈরির পরে কোনও তারিখ অবজেক্টে টাইমজোন সেট করার কোনও ক্ষমতা নেই।

এবং একটি উপায়ে এটি উপলব্ধি করে - ধারণাগতভাবে (যদি সম্ভবত এটি বাস্তবায়নে নাও থাকে); প্রতি http://en.wikedia.org/wiki/Unix_Timestamp (জোর আমার):

ইউনিক্স সময় বা পসিক্স সময় হ'ল সময়ত তাত্ক্ষণিক বর্ণনার জন্য একটি সিস্টেম, এটি 1 জানুয়ারী, 1970, বৃহস্পতিবার মধ্যরাত সমন্বিত ইউনিভার্সাল সময় (ইউটিসি) থেকে সেকেন্ডের সীমা হিসাবে সংখ্যায়িত হিসাবে সংজ্ঞায়িত হয় ।

একবার আপনি এটি নির্মাণ করার পরে এটি "রিয়েল" সময়ের একটি নির্দিষ্ট পয়েন্ট উপস্থাপন করবে। সময় অঞ্চলটি কেবল তখনই প্রাসঙ্গিক যখন আপনি সেই বিমূর্ত সময় বিন্দুকে মানব-পঠনযোগ্য স্ট্রিংয়ে রূপান্তর করতে চান।

এইভাবে এটি বোঝা যায় যে আপনি কেবল নির্মাণকারীর মধ্যে তারিখটি উপস্থাপনের আসল সময়টি পরিবর্তন করতে পারবেন। দুঃখজনকভাবে মনে হচ্ছে যে সুস্পষ্ট টাইমজোনটিতে পাস করার কোনও উপায় নেই - এবং আপনি যে কনস্ট্রাক্টরকে কল করছেন (তর্কযুক্তভাবে সঠিকভাবে) আপনার "স্থানীয়" সময়ের ভেরিয়েবলগুলি জিএমটি-তে অনুবাদ করে যখন এটি ন্যায্যভাবে সংরক্ষণ করে - তাই ব্যবহার করার কোনও উপায় নেইint, int, int কনস্ট্রাক্টর GMT বার।

প্লাস দিকে, এটি কেবল কন্সট্রাক্টর ব্যবহার করা তুচ্ছ যা তার পরিবর্তে একটি স্ট্রিং নেয়। এমনকি আপনাকে সাংখ্যিক মাসকে একটি স্ট্রিং (ফায়ারফক্সে অন্তত) রূপান্তর করতে হবে না, তাই আমি আশা করছিলাম যে একটি নিষ্কলুষ বাস্তবায়ন কার্যকর হবে। তবে এটি চেষ্টা করার পরে এটি ফায়ারফক্স, ক্রোম এবং অপেরাতে সাফল্যের সাথে কাজ করে তবে কনকরার ("অবৈধ তারিখ"), সাফারি ("অবৈধ তারিখ") এবং আইই ("ন্যান") এ ব্যর্থ হয়। আমি মনে করি আপনি মাসটিকে একটি স্ট্রিংয়ে রূপান্তর করতে সন্ধানের জন্য কেবল অ্যারে রাখবেন:

var months = [ '', 'January', 'February', ..., 'December'];

function createGMTDate(xiYear, xiMonth, xiDate) {
   return new Date(months[xiMonth] + ' ' + xiDate + ', ' + xiYear + ' 00:00:00 GMT');
}

6
যদি কোন উপায় "একটি তারিখ বস্তুর উপর সময় অঞ্চল নির্ধারণ করে পরে এটি তৈরি করা হয়", আপনি implying হয় সেখানে একটি তারিখ বস্তুর উপর সময় অঞ্চল নির্ধারণ করে একটি উপায় যে যেমন এটি তৈরি করা হয়? এটি কোনও জেএস তারিখের মতো দেখে মনে হচ্ছে না "পর্বের সময় থেকে কয়েক সেকেন্ডের চারপাশে পাতলা মোড়ক" - দেখে মনে হচ্ছে এটি সেই সেকেন্ডের গণনা, সময় সময় অঞ্চল like
অ্যান্টনি

1
@ অ্যান্টনি, এটি কেবল ক্লায়েন্টের টাইমজোন ব্যবহার করতে পারে। জাভাস্ক্রিপ্ট ইউটিসি এবং পিছনে স্থানীয় করতে পারে তবে টাইমজোন ডেটাবেজে অ্যাক্সেস নেই। উদাহরণস্বরূপ, আপনি যখন সান দিয়েগোতে থাকবেন তখন মেক্সিকো সিটির সময় আপনাকে বলতে পারে না।
স্যামুয়েল ড্যানিয়েলসন

20

আমি জানি এটি পুরানো তবে এটি আপনাকে সহায়তা করতে যদি মুহুর্ত এবং মুহুর্তের সময় অঞ্চলটি ব্যবহার করতে পারে। আপনি যদি তাদের না দেখে থাকেন তবে একবার দেখুন।

http://momentjs.com/timezone/

http://momentjs.com/

দুটি সত্যিই কার্যকর সময় ম্যানিপুলেশন লাইব্রেরি।


16

আপনি যদি টাইমজোন সহ বছর, মাস, দিন, ... থেকে জাভাস্ক্রিপ্টের তারিখ অবজেক্ট তৈরি করার সামান্য ভিন্ন, তবে সম্পর্কিত সম্পর্কিত সমস্যাটি মোকাবেলা করতে চান - যদি আপনি কোনও তারিখকে কোনও স্ট্রিংকে বিশ্লেষণ করতে চান - তবে আপনি স্পষ্টতই একটি চঞ্চল জটিল নাচ করতে হবে:

// parseISO8601String : string -> Date
// Parse an ISO-8601 date, including possible timezone,
// into a Javascript Date object.
//
// Test strings: parseISO8601String(x).toISOString()
// "2013-01-31T12:34"              -> "2013-01-31T12:34:00.000Z"
// "2013-01-31T12:34:56"           -> "2013-01-31T12:34:56.000Z"
// "2013-01-31T12:34:56.78"        -> "2013-01-31T12:34:56.780Z"
// "2013-01-31T12:34:56.78+0100"   -> "2013-01-31T11:34:56.780Z"
// "2013-01-31T12:34:56.78+0530"   -> "2013-01-31T07:04:56.780Z"
// "2013-01-31T12:34:56.78-0330"   -> "2013-01-31T16:04:56.780Z"
// "2013-01-31T12:34:56-0330"      -> "2013-01-31T16:04:56.000Z"
// "2013-01-31T12:34:56Z"          -> "2013-01-31T12:34:56.000Z"
function parseISO8601String(dateString) {
    var timebits = /^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})(?::([0-9]*)(\.[0-9]*)?)?(?:([+-])([0-9]{2})([0-9]{2}))?/;
    var m = timebits.exec(dateString);
    var resultDate;
    if (m) {
        var utcdate = Date.UTC(parseInt(m[1]),
                               parseInt(m[2])-1, // months are zero-offset (!)
                               parseInt(m[3]),
                               parseInt(m[4]), parseInt(m[5]), // hh:mm
                               (m[6] && parseInt(m[6]) || 0),  // optional seconds
                               (m[7] && parseFloat(m[7])*1000) || 0); // optional fraction
        // utcdate is milliseconds since the epoch
        if (m[9] && m[10]) {
            var offsetMinutes = parseInt(m[9]) * 60 + parseInt(m[10]);
            utcdate += (m[8] === '+' ? -1 : +1) * offsetMinutes * 60000;
        }
        resultDate = new Date(utcdate);
    } else {
        resultDate = null;
    }
    return resultDate;
}

এটি হ'ল টাইমজোন ছাড়াই তারিখটি ব্যবহার করে আপনি একটি 'ইউটিসি সময়' তৈরি করেন (যাতে আপনি জানেন যে এটিতে কী লোকেলের নাম রয়েছে, ইউটিসি 'লোকেল', এবং এটি স্থানীয়টির সাথে ডিফল্ট হয়নি) এবং তারপরে নির্দেশিত টাইমজোন অফসেটটি ম্যানুয়ালি প্রয়োগ করুন।

যদি কেউ জাভাস্ক্রিপ্টের তারিখ অবজেক্ট সম্পর্কে আরও বেশি, পাঁচ মিনিটেরও বেশি সময় ধরে চিন্তা করতেন তবে ভাল হত না ...


1
মহান ফাংশন জন্য ধন্যবাদ! কেবলমাত্র আমি পরিবর্তন করব টাইমজোন অফসেটে কোলনের জন্য সমর্থন যুক্ত করা। var টাইবিটস = / ^ ([0-9] {4}) - ([0-9] {2}) - ([0-9] {2}) টি ([0-9] {2}) :( [0-9] {2}) (:: ([0-9] *?)) (\ [0-9] *।)?? (: ([+ + -]) ([0-9] { 2} [:]?) ([0-9] {2})) /;
রবনার্দো

2
তারা এ সম্পর্কে চিন্তাভাবনা করেছিল; দুর্ভাগ্যক্রমে, "তারা" জাভা ভাষার ডিজাইনার ছিলেন, কারণ জেএস এর প্রাথমিক প্রয়োগের জন্য জাভার ডেট ক্লাসটি অনুলিপি করেছিল।
Xanthir

@ কাঁথির ওহ, আপনি ঠিক বলেছেন, এবং আমি ভুলে গিয়েছিলাম আসল জাভা ডেট অবজেক্টটি কতটা ভয়াবহ ছিল; তবে অন্তত জাভা এটিকে অবমূল্যায়ন করে এগিয়ে চলেছে, জাভাস্ক্রিপ্ট এমন কিছু করতে অক্ষম বলে মনে হচ্ছে (এটি একটি উদ্ভট ভাষা, জাভাস্ক্রিপ্ট: বরং সুন্দর এবং এটি প্রথম হিসাবে দেখা হিসাবে প্রায় ভয়ঙ্কর নয়)।
নরম্যান গ্রে

13
d = new Date();
utc = d.getTime() + (d.getTimezoneOffset() * 60000);
nd = new Date(utc + (3600000*offset));

offset value base on which location time zone you would like to set 
For India offset value +5.5,
New York offset value -4,
London offset value +1

সমস্ত অবস্থানের জন্য উইকি ইউটিসি সময় অফসেটের তালিকা অফসেট করে


দিবালোক সঞ্চয়ের সময় নিউ ইয়র্কের পক্ষে কীভাবে এই সহায়তা করে?
ফ্রেডেরজ

নিউ ইয়র্কের জন্য দয়া করে অফসেট মান -4 ব্যবহার করুন
বিজয় লাঠিয়া

1
নিউইয়র্কের অফসেটটি দিবালোক সঞ্চয় সময় অনুসারে পরিবর্তিত হয়। কখনও কখনও এটি -4 এবং কখনও কখনও এটি -5 en.wikedia.org/wiki/Eresttern_Time_Zone
frederj

8

ইউটিসি + জেডের জন্য getTimeZoneOffset বিয়োগফল।

var d = new Date(xiYear, xiMonth, xiDate);
if(d.getTimezoneOffset() > 0){
    d.setTime( d.getTime() + d.getTimezoneOffset()*60*1000 );
}

1
কিছুটা ভুল,! = 0 নয়> 0. আমি এটি ব্যবহার করে শেষ করেছি
ক্রিশ্তি বালু

8

এটি কাউকে সহায়তা করতে পারে, আপনি নতুন কন্সট্রাক্টরের কাছে যা যাবেন তার শেষে ইউটিসি রাখে

কমপক্ষে ক্রোমে আপনি বলতে পারেন var date = new Date("2014-01-01 11:00:00 UTC")


1
সাফারিতে "অবৈধ তারিখ"
প্রত্যাবর্তন করে

1
এর সাথে `UTC` প্রতিস্থাপন করুন +0000(লক্ষ্য করুন যে 00 এবং UTC এর মধ্যে স্থান অপসারণ করা দরকার) এবং এটি ফায়ারফক্স এবং ক্রোম উভয় ক্ষেত্রেই কাজ করবে। নিশ্চিত হতে পারছি না সাফারি জন্য যদিও (রেফারেন্স। Stackoverflow.com/a/17545854/1273587 )
cytsunny

8

এক লাইন সমাধান

new Date(new Date(1422524805305).getTime() - 330*60*1000)

1422524805305 এর পরিবর্তে, 330 এর পরিবর্তে মিলি সেকেন্ডে টাইমস্ট্যাম্পটি ব্যবহার করুন, আপনার টাইমজোনটি অফসেটটি কয়েক মিনিটের কব্জায় ব্যবহার করুন। GMT (যেমন ভারত +5: 30 হ'ল 5 * 60 + 30 = 330 মিনিট)


4
এটি ক্লায়েন্টের কোড কোড হবে, যার অর্থ সময় অঞ্চলটি আপনার ভিন্ন অবস্থিত ব্যবহারকারীদের জন্য আলাদা হতে চলেছে। এই সমাধানটির প্রয়োজন হবে যার যার প্রয়োজন এটি একই সময় অঞ্চলে বাস করবে (আপনার)।
কেভিন বিয়াল

@ কেভিন বিলের ক্ষেত্রে সেক্ষেত্রে গেটটাইমজোন অফসেটটি ব্যবহার করুন
ম্যাক্সিমাস

6
// My clock 2018-07-25, 00:26:00 (GMT+7)
let date = new Date(); // 2018-07-24:17:26:00 (Look like GMT+0)
const myTimeZone = 7; // my timeZone 
// my timeZone = 7h = 7 * 60 * 60 * 1000 (millisecond);
// 2018-07-24:17:26:00 = x (milliseconds)
// finally, time in milliseconds (GMT+7) = x + myTimezone 
date.setTime( date.getTime() + myTimeZone * 60 * 60 * 1000 );
// date.toISOString() = 2018-07-25, 00:26:00 (GMT+7)

আপনার কোড এবং এটি কীভাবে সমস্যার সমাধান করে তা ব্যাখ্যা করা আপনার উত্তরের মান বাড়িয়ে তুলবে এবং ব্যবহারকারীদের শেখার ক্ষেত্রে সহায়তা করবে।
নিক 3500

5

সঠিক তারিখটি খুঁজে পেতে সবচেয়ে সহজ উপায় হ'ল ডেটজেস ব্যবহার করা।

http://www.datejs.com/

স্ট্রিং হিসাবে এই ফর্ম্যাটে আমি আজাক্সের মাধ্যমে আমার তারিখগুলি পেয়েছি: '2016-01-12T00: 00: 00'

var yourDateString = '2016-01-12T00:00:00';
var yourDate = new Date(yourDateString);
console.log(yourDate);
if (yourDate.getTimezoneOffset() > 0){
    yourDate = new Date(yourDateString).addMinutes(yourDate.getTimezoneOffset());
}
console.log(yourDate);

কনসোল পড়বে:

সোমবার 11 জানুয়ারী 19:00:00 GMT-0500 (পূর্ব স্ট্যান্ডার্ড সময়)

মঙ্গলবার 12 জানু 2016 00:00:00 GMT-0500 (পূর্ব স্ট্যান্ডার্ড সময়)

https://jsfiddle.net/vp1ena7b/3/

'অ্যাডমিনুটস' ডেটজেস থেকে আসে, আপনি সম্ভবত নিজের খাঁটি জেএসে এটি করতে পারেন, তবে আমার প্রকল্পে ইতিমধ্যে ডেটজেস ছিল তাই সঠিক তারিখগুলি পাওয়ার জন্য আমি এটি ব্যবহার করার একটি উপায় খুঁজে পেয়েছি।

আমি ভেবেছিলাম যে এটি কারও সাহায্য করতে পারে ...


সমস্ত পদ্ধতির চেষ্টা করেছিলাম এবং মধ্যরাতটি পাওয়া এই একমাত্র যা আমি পরে ছিল!
শার্পিসি

3

যে কোনও মাইলেজ

var d = new Date(xiYear, xiMonth, xiDate).toLocaleString();

এটি আমার জন্য কৌশলটি মনে হচ্ছে (GMT থেকে এক সময় অঞ্চল দূরে), তবে যেহেতু "লোকাল" টাইমজোন সম্পর্কিত নয়, তাই আমি এটির উপর নির্ভর করব না।
উইটজে

3

এই কোডটি আপনার তারিখ অবজেক্টটি ব্রাউজারের টাইমজোন দিয়ে ফর্ম্যাট করবে ।

Date.prototype.timezone = function () {
    this.setHours(this.getHours() + (new Date().getTimezoneOffset() / 60));
    return this;
}

সম্পাদনা:

তারিখের এপিআই দূষিত করতে এড়াতে, উপরের ফাংশনটি কোনও ইউটিলিটি ফাংশনে রূপান্তর করা যেতে পারে। ফাংশনটি একটি তারিখ অবজেক্ট নেয় এবং একটি পরিবর্তিত তারিখ অবজেক্ট দেয়।

function setTimeZone(date) {
    date.setHours(date.getHours() + (new Date().getTimezoneOffset() / 60));
    return date;
}

6
নেটিভ অবজেক্টগুলি প্রসারিত করার জন্য নেই
পল রুমকিন

1

আমি এটি দেখেছি সেরা সমাধানটি এসেছে

http://www.codingforums.com/archive/index.php/t-19663.html

মুদ্রণ সময় ফাংশন

<script language="javascript" type="text/javascript">
//borrowed from echoecho
//http://www.echoecho.com/ubb/viewthread.php?tid=2362&pid=10482&#pid10482
workDate = new Date()
UTCDate = new Date()
UTCDate.setTime(workDate.getTime()+workDate.getTimezoneOffset()*60000)

function printTime(offset) {
    offset++;
    tempDate = new Date()
    tempDate.setTime(UTCDate.getTime()+3600000*(offset))
    timeValue = ((tempDate.getHours()<10) ? ("0"+tempDate.getHours()) : (""+tempDate.getHours()))
    timeValue += ((tempDate.getMinutes()<10) ? ("0"+tempDate.getMinutes()) : tempDate.getMinutes())
    timeValue += " hrs."
    return timeValue
    }
    var now = new Date()
    var seed = now.getTime() % 0xfffffff
    var same = rand(12)
</script>

Banff, Canada:
<script language="JavaScript">document.write(printTime("-7"))</script>

সম্পূর্ণ কোড উদাহরণ

<html>

<head>
<script language="javascript" type="text/javascript">
//borrowed from echoecho
//http://www.echoecho.com/ubb/viewthread.php?tid=2362&pid=10482&#pid10482
workDate = new Date()
UTCDate = new Date()
UTCDate.setTime(workDate.getTime()+workDate.getTimezoneOffset()*60000)

function printTime(offset) {
offset++;
tempDate = new Date()
tempDate.setTime(UTCDate.getTime()+3600000*(offset))
timeValue = ((tempDate.getHours()<10) ? ("0"+tempDate.getHours()) : (""+tempDate.getHours()))
timeValue += ((tempDate.getMinutes()<10) ? ("0"+tempDate.getMinutes()) : tempDate.getMinutes())
timeValue += " hrs."
return timeValue
}
var now = new Date()
var seed = now.getTime() % 0xfffffff
var same = rand(12)
</script>

</head>

<body>
Banff, Canada:
<script language="JavaScript">document.write(printTime("-7"))</script>
<br>
Michigan:
<script language="JavaScript">document.write(printTime("-5"))</script>
<br>
Greenwich, England(UTC):
<script language="JavaScript">document.write(printTime("-0"))</script>
<br>
Tokyo, Japan:
<script language="JavaScript">document.write(printTime("+9"))</script>
<br>
Berlin, Germany:
<script language="JavaScript">document.write(printTime("+1"))</script>

</body>
</html>

আপনার উদাহরণটি দিবালোক সংরক্ষণের সময় বাদ দেয়। কারেন্টটাইম: শুক্র অক্টোবর 04 2013 11:13:43 GMT-0700 (প্যাসিফিক দিবালোকের সময়) উত্সটাইম: শুক্র, 04 অক্টোবর 2013 18:13:43 GMT বনফ, কানাডা: 1213 ঘন্টা। মিশিগান: 1413 ঘন্টা গ্রিনউইচ, ইংল্যান্ড (ইউটিসি): 1913 ঘন্টা টোকিও, জাপান: 0413 ঘন্টা বার্লিন, জার্মানি: 2013 ঘন্টা
জেসন মারতাজায়া

0

আপনি যদি দুটি তারিখের মধ্যে সময়ের মধ্যে পার্থক্যটি পরীক্ষা করতে চান, আপনি কেবল দ্বিতীয় টাইমজোনটি আপনার প্রথম পছন্দসই টাইমজোন থেকে কম বা বৃহত্তর কিনা তা পরীক্ষা করে দেখতে পারেন বা একটি সময় যোগ করতে বা সময় যোগ করতে পারেন।

  const currTimezone = new Date().getTimezoneOffset(); // your timezone
  const newDateTimezone = date.getTimezoneOffset(); // date with unknown timezone

  if (currTimezone !== newDateTimezone) {
    // and below you are checking if difference should be - or +. It depends on if unknown timezone is lesser or greater than yours
    const newTimezone = (currTimezone - newDateTimezone) * (currTimezone > newDateTimezone ? 1 : -1);
    date.setTime(date.getTime() + (newTimezone * 60 * 1000));
  }

0

GMT -03: 00 উদাহরণ

new Date(new Date()-3600*1000*3).toISOString();  // 2020-02-27T15:03:26.261Z

অথবা এমনকি

now  = new Date().getTime()-3600*1000*3; // 1582818380528
data = new Date(now).toISOString();      // 2020-02-27T15:03:26.261Z

-1

এটি আমার পক্ষে কাজ করেছে। যদিও এটি একটি ভাল ধারণা কিনা তা নিশ্চিত নয়।

var myDate = new Date();
console.log('myDate:', myDate);   // myDate: "2018-04-04T01:09:38.112Z"

var offset = '+5';  // e.g. if the timeZone is -5

var MyDateWithOffset = new Date( myDate.toGMTString() + offset );   

console.log('MyDateWithOffset:', MyDateWithOffset); // myDateWithOffset: "2018-04-03T20:09:38.000Z"


-1

আমি টাইমজোন-জেএস প্যাকেজটি ব্যবহার করেছি।

var timezoneJS  = require('timezone-js');
var tzdata = require('tzdata');

createDate(dateObj) {
    if ( dateObj == null ) {
        return null;
    }
    var nativeTimezoneOffset = new Date().getTimezoneOffset();
    var offset = this.getTimeZoneOffset();

    // use the native Date object if the timezone matches
    if ( offset == -1 * nativeTimezoneOffset ) {
        return dateObj;
    }

    this.loadTimeZones();

    // FIXME: it would be better if timezoneJS.Date was an instanceof of Date
    //        tried jquery $.extend
    //        added hack to Fiterpickr to look for Dater.getTime instead of "d instanceof Date"
    return new timezoneJS.Date(dateObj,this.getTimeZoneName());
},

-11

এটি সেরা সমাধান

ব্যবহার:

// TO ALL dates
Date.timezoneOffset(-240) // +4 UTC

// Override offset only for THIS date
new Date().timezoneOffset(-180) // +3 UTC

কোড:

Date.prototype.timezoneOffset = new Date().getTimezoneOffset();

Date.setTimezoneOffset = function(timezoneOffset) {
  return this.prototype.timezoneOffset = timezoneOffset;
};

Date.getTimezoneOffset = function() {
  return this.prototype.timezoneOffset;
};

Date.prototype.setTimezoneOffset = function(timezoneOffset) {
  return this.timezoneOffset = timezoneOffset;
};

Date.prototype.getTimezoneOffset = function() {
  return this.timezoneOffset;
};

Date.prototype.toString = function() {
  var offsetDate, offsetTime;
  offsetTime = this.timezoneOffset * 60 * 1000;
  offsetDate = new Date(this.getTime() - offsetTime);
  return offsetDate.toUTCString();
};

['Milliseconds', 'Seconds', 'Minutes', 'Hours', 'Date', 'Month', 'FullYear', 'Year', 'Day'].forEach((function(_this) {
  return function(key) {
    Date.prototype["get" + key] = function() {
      var offsetDate, offsetTime;
      offsetTime = this.timezoneOffset * 60 * 1000;
      offsetDate = new Date(this.getTime() - offsetTime);
      return offsetDate["getUTC" + key]();
    };
    return Date.prototype["set" + key] = function(value) {
      var offsetDate, offsetTime, time;
      offsetTime = this.timezoneOffset * 60 * 1000;
      offsetDate = new Date(this.getTime() - offsetTime);
      offsetDate["setUTC" + key](value);
      time = offsetDate.getTime() + offsetTime;
      this.setTime(time);
      return time;
    };
  };
})(this));

কফি সংস্করণ:

Date.prototype.timezoneOffset = new Date().getTimezoneOffset()


Date.setTimezoneOffset = (timezoneOffset)->
    return @prototype.timezoneOffset = timezoneOffset


Date.getTimezoneOffset = ->
    return @prototype.timezoneOffset


Date.prototype.setTimezoneOffset = (timezoneOffset)->
    return @timezoneOffset = timezoneOffset


Date.prototype.getTimezoneOffset = ->
    return @timezoneOffset


Date.prototype.toString = ->
    offsetTime = @timezoneOffset * 60 * 1000
    offsetDate = new Date(@getTime() - offsetTime)
    return offsetDate.toUTCString()


[
    'Milliseconds', 'Seconds', 'Minutes', 'Hours',
    'Date', 'Month', 'FullYear', 'Year', 'Day'
]
.forEach (key)=>
    Date.prototype["get#{key}"] = ->
        offsetTime = @timezoneOffset * 60 * 1000
        offsetDate = new Date(@getTime() - offsetTime)
        return offsetDate["getUTC#{key}"]()

    Date.prototype["set#{key}"] = (value)->
        offsetTime = @timezoneOffset * 60 * 1000
        offsetDate = new Date(@getTime() - offsetTime)
        offsetDate["setUTC#{key}"](value)
        time = offsetDate.getTime() + offsetTime
        @setTime(time)
        return time

2
বাহ, আমি এটিও পছন্দ করি না, তবে আমার ধারণা লোকেরা আপনাকে বিল্টিনের প্রোটোটাইপকে অগ্রাহ্য করে সত্যিই ঘৃণা করে!
জোশি কেরিবউ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.