দুই তারিখের মধ্যে কত সেকেন্ড?


180

সুতরাং আমি দুটি তারিখ YYYY-MM-DDএবংZZZZ-NN-EE

তাদের মধ্যে কত সেকেন্ড রয়েছে তা আমি কীভাবে জানতে পারি?


173
আমি আটকা পড়তে না থেকে তারিখের মধ্যে কমপক্ষে আধা ঘন্টা রেখে যাওয়ার চেষ্টা করি।
ডন ব্রানসন

yyyy-MM-ddপরিষ্কার (বছর, মাস, দিন-দ্রষ্টব্য যে তারা সকলেই বড় নয়), তবে জেডজেডজেড-এনএন-ই ই তা নয়। আমি এটি ব্যাখ্যা করি (টাইমজোন, ???, দিন-সপ্তাহে)। এটা কি সপ্তাহে-বছর? যদি তাই হত তবে তা হত ww। তবে তবুও আমাদের পার্থক্যটি গণনা করার জন্য বছরটি প্রয়োজন। আপনি কি দয়া করে কিছু নমুনার মান দিতে পারেন?
বালাসস

7
@ বালুসসি: আমি বিশ্বাস করি যে তিনি দ্বিতীয় তারিখ (ওয়াই -> জেড, এম -> এন এবং ডি -> ই) বোঝাতে কেবল পরবর্তী অক্ষরে গিয়েছিলেন। ভেরিয়েবলের নাম যেমন স্টার্টডেট এবং এন্ডেট ডেট ব্যবহার করা সম্ভবত আরও ভাল হত।
অস্টিন সালোনেন

আহ আমি দেখি. এটি প্রকৃতপক্ষে আরও পরিষ্কার জিজ্ঞাসা করা যেতে পারে।
বালুসসি 7'10

উত্তর:


242

আমি YYYY এবং ZZZZ এর সাথে পূর্ণসংখ্যার মান বোঝাতে যা বছরের অর্থ, এমএম এবং এনএন অর্থ বছরের পূর্ণসংখ্যার মানে এবং মাসের দিন মানে ডিডি এবং ইইটি পূর্ণসংখ্যার মান হিসাবে বোঝায়।

var t1 = new Date(YYYY, MM, DD, 0, 0, 0, 0);
var t2 = new Date(ZZZZ, NN, EE, 0, 0, 0, 0);
var dif = t1.getTime() - t2.getTime();

var Seconds_from_T1_to_T2 = dif / 1000;
var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2);

ভবিষ্যতের রেফারেন্সের জন্য একটি সহজ উত্স হ'ল এমডিএন সাইট

বিকল্পভাবে, যদি আপনার তারিখগুলি কোনও ফর্ম্যাটে আসে তবে জাভাস্ক্রিপ্ট পার্স করতে পারে

var dif = Date.parse(MM + " " + DD + ", " + YYYY) - Date.parse(NN + " " + EE + ", " + ZZZZ);

এবং তারপরে আপনি সেই মানটি মিলি সেকেন্ডের পার্থক্যের হিসাবে ব্যবহার করতে পারেন (আমার উদাহরণগুলির উভয়ের মধ্যে একই অর্থ রয়েছে)


1
উদাহরণে ব্যবহৃত নিদর্শনগুলি ঠিক এটি নয়। 4-অঙ্কের বছরগুলি ছোট হাতের দ্বারা yyyy, 2-অঙ্কের মাস বড় হাতের সাথে MMএবং 2-অঙ্কের দিন ছোট হাতের দ্বারা চিহ্নিত করা হয় dd
বালুসসি

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

আমি দ্বিতীয় উদাহরণটি আপডেট করেছি, যা আমি অনুমান করি যে সম্পর্কে সবাই বিভ্রান্ত হচ্ছিল। আমি তার উদাহরণে প্রদত্ত মূল্যবোধগুলি ঠিক কীভাবে ব্যাখ্যা করছি সে সম্পর্কেও আমি কিছুটা স্পষ্টতা যুক্ত করেছি।
মার্টিন

আপনার দ্বিতীয় পরিবর্তনশীল কল করা প্রয়োজন t2
কিস সি বাকার

বেশিরভাগ ক্ষেত্রে আপনি সম্ভবত টি 2 - টি 1 করছেন, টি 1 - টি 2 করবেন না
আপক্রিক

82

কেবল বিয়োগ করুন:

var a = new Date();
alert("Wait a few seconds, then click OK");

var b = new Date();
var difference = (b - a) / 1000;

alert("You waited: " + difference + " seconds");

@ user3344977 - তাহলে মজার কিছু চলছে! মান পরীক্ষা করুন aএবং bএবং নিশ্চিত করুন যে তারা তারিখ আছে।
শেঠ

@ আপনি ঠিক বলেছেন তাই আমি আমার মন্তব্য মুছলাম .. আমার "তারিখ" এর মধ্যে একটি আসলে একটি স্ট্রিং ছিল। এটি পুরোপুরি কাজ করে।
ব্যবহারকারী3344977

14

যদি আপনার এক বা উভয় তারিখ ভবিষ্যতে হয় তবে আমি আশঙ্কা করি আপনি যদি দ্বিতীয়-যথার্থতা চান তবে আপনি SOL OL ইউটিসির সময়টিতে লিপ সেকেন্ড রয়েছে যা প্রায় months মাস অবধি তার জানা না হওয়ার আগে থেকে জানা যায় না, সুতরাং এর চেয়ে বেশি তারিখগুলি কিছু সেকেন্ডের দ্বারা ভুল হতে পারে (এবং অনুশীলনে, যেহেতু লোকেরা তাদের মেশিনগুলি প্রায়শই আপডেট করে না, আপনি ভবিষ্যতে যে কোনও সময় কয়েক সেকেন্ডের মধ্যে বন্ধ হয়ে থাকতে পারে)।

এই তারিখ / সময় লাইব্রেরি নকশা তত্ত্বের একটি ভাল ব্যাখ্যা দেয় এবং কেন এই হল: http://www.boost.org/doc/libs/1_41_0/doc/html/date_time/details.html#date_time.tradeoffs


7
+1 লিপ দ্বিতীয় ইস্যু উল্লেখ করার জন্য! এটি যখন হতাশ হয়ে যায় তখন হতাশাবোধ এমনকি এমন লোকদের দ্বারাও যারা আরও ভাল করে জানতে হবে (পসিক্স কমিটি, আমি আপনার দিকে তাকাচ্ছি ...)
জিম লুইস

1
উল্লেখযোগ্য যে ইসিএমএ স্ট্যান্ডার্ড স্পষ্টভাবে লিপ সেকেন্ডগুলিকে অগ্রাহ্য করে (যেমন: অতীতেও অতীতের লিপ সেকেন্ড): সময়ে মান লিপ সেকেন্ডে উপেক্ষা করা হয়। ধারণা করা হয় যে এখানে প্রতিদিন 86,400,000 মিলিসেকেন্ড রয়েছে
সিলভাইন লেরাক্স

11

আপনি এটি সহজভাবে করতে পারেন।

var secondBetweenTwoDate = Math.abs((new Date().getTime() - oldDate.getTime()) / 1000);

5

দুটি Dateবস্তু তৈরি করুন এবং valueOf()উভয়কে কল করুন, তারপরে তাদের তুলনা করুন।

জাভাস্ক্রিপ্ট তারিখ অবজেক্ট রেফারেন্স


2
getSecond () -> সেকেন্ড ফিরে আসে। (পরিসীমা 0-59)। মানফল () বা getTime () হওয়া উচিত
স্টিভেন


0

সহজ পথ:

function diff_hours(dt2, dt1) 
 {

  var diff =(dt2.getTime() - dt1.getTime()) / 1000;
  diff /= (60 * 60);
  return Math.abs(Math.round(diff));

 }


function diff_minutes(dt2, dt1) 
 {

  var diff =(dt2.getTime() - dt1.getTime()) / 1000;
  diff /= (60);
  return Math.abs(Math.round(diff));

 }

function diff_seconds(dt2, dt1) 
 {

  var diff =(dt2.getTime() - dt1.getTime()) / 1000;
  return Math.abs(Math.round(diff));

 }

function diff_miliseconds(dt2, dt1) 
 {

  var diff =(dt2.getTime() - dt1.getTime());
  return Math.abs(Math.round(diff));

 }


dt1 = new Date(2014,10,2);
dt2 = new Date(2014,10,3);
console.log(diff_hours(dt1, dt2));


dt1 = new Date("October 13, 2014 08:11:00");
dt2 = new Date("October 14, 2014 11:13:00");
console.log(diff_hours(dt1, dt2));

console.log(diff_minutes(dt1, dt2));

console.log(diff_seconds(dt1, dt2));

console.log(diff_miliseconds(dt1, dt2));

-3

ব্যাশে:

bc <<< "$(date --date='1 week ago' +%s) - \
    $(date --date='Sun,  29 Feb 2004 16:21:42 -0800' +%s)"

এটিতে বিসি এবং gnu তারিখ ইনস্টল করা প্রয়োজন।


1
এটি কীভাবে প্রাসঙ্গিক?
ড্রপআউট

-10

। নেট আপনার জন্য গণিত করার জন্য টাইমস্প্যান ক্লাস সরবরাহ করে।

var time1 = new Date(YYYY, MM, DD, 0, 0, 0, 0)
var time2 = new Date(ZZZZ, NN, EE, 0, 0, 0, 0)

Dim ts As TimeSpan = time2.Subtract(time1)

ts.TotalSeconds

@ জেফ, আপনি এই উত্তরটি মুছতে চান যাতে আপনি পয়েন্ট হারাবেন না। তারা ভিজ্যুয়াল বেসিক উত্স কোডের চেয়ে জাভাস্ক্রিপ্ট উত্স কোডের জন্য বলেছে।
ম্যাকগাইভার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.