সেকেন্ডে বর্তমান তারিখ / সময় পান


297

জাভাস্ক্রিপ্টে আমি কীভাবে বর্তমান তারিখ / সময় সেকেন্ডে পেতে পারি?



1
সচেতন থাকুন যে গৃহীত উত্তরটি একটি ভাসমান-পয়েন্ট নম্বর উত্পন্ন করবে।
e18r

উত্তর:


457
var seconds = new Date().getTime() / 1000;

.... আপনাকে মধ্যরাত, 1 জানুয়ারী 1970 থেকে সেকেন্ড দেবে

উল্লেখ


13
এটি সঠিক হলেও এটি কখন কার্যকর হবে? :)
নিক Craver

6
@ নিক - আমি মনে করি সমস্ত উদাহরণ অগত্যা অনুমানমূলক এবং এটি সুরক্ষিত শোনাবে - তবে আমি একটি শট নেব :) মনে করুন আপনার কাছে ডেটা সময় ইউনিক্সের সাথে স্ট্যাম্পযুক্ত, এবং এটির বয়স নির্ধারণ করতে চান। যদিও আমি মনে করি এটিই সম্ভবত 'বর্তমান তারিখ / সময় সেকেন্ডে' বলতে বোঝায়; শুধু আমার অন্ত্র অনুভূতি।
sje397

3
একটি অ্যাপ্লিকেশন যেখানে আমার এটি দরকার ছিল তা হল পিএইচপি ব্যাক এন্ডের সাথে কাজ করা সময় () ফাংশনটি ইতিমধ্যে এটি ফেরত দেয় বলে। এটি একটি সময়ের স্ট্যাম্পের জন্যও দুর্দান্ত কারণ আপনি খুব সহজেই সময় () আমাদের বর্তমান সময় এবং পূর্ববর্তী সময়ের থেকে একটি স্ট্যাম্পের মধ্যে পার্থক্য পেতে পারেন যা কোনও ডাটাবেজে সঞ্চিত ছিল বলে যে কোনও ব্যবহারকারী যখন কিছু পোস্ট করেছেন। আপনি '২২ শে অক্টোবর, ২০১৫' এর মতো ফর্ম্যাটেড সময় পেতে চান এমন ইভেন্টে আপনি আর্গুমেন্ট হিসাবে টাইমস্ট্যাম্প থেকে ফেরত দিতে নিজের ফাংশনটি তৈরি করতে পারেন বা ইতিমধ্যে এখানে স্ট্যাক ব্যবহার করতে পারেন use যাইহোক, আশা করি এটি আপনাকে কখন কার্যকর হবে সে সম্পর্কে কিছুটা অন্তর্দৃষ্টি দেয়। @ নিকক্রাভার
উহফোকুজ

21
এটি লক্ষণীয় যে আপনি ম্যাথ.ফ্লুর () এ মোড়ানো করতে চান, অন্যথায় আপনি একটি দশমিক পান।
ডেভিড ওয়েববার

11
এটি যেভাবে কার্যকর হবে তার একটি উপায় হ'ল দুই বারের মধ্যে কেটে যাওয়া সময় গণনা করা।
জ্যাক

106
 Date.now()

যুগের পর থেকে মিলি সেকেন্ড দেয়। ব্যবহার করার দরকার নেই new

রেফারেন্সটি এখানে দেখুন: https://developer.mozilla.org/en-US/docs/Web/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / তারিখ / এখন

(আইই 8 তে সমর্থিত নয়))


65

ব্যবহার new Date().getTime() / 1000করা সেকেন্ডগুলি পাওয়ার জন্য একটি অসম্পূর্ণ সমাধান, কারণ এটি ভাসমান-পয়েন্ট ইউনিটগুলির সাথে টাইমস্ট্যাম্প তৈরি করে।

const timestamp = new Date() / 1000; // 1405792936.933
// Technically, .933 would be milliseconds. 

এর থেকে আরও ভাল সমাধান হ'ল:

// Rounds the value
const timestamp = Math.round(new Date() / 1000); // 1405792937

// - OR -

// Floors the value
const timestamp = new Date() / 1000 | 0; // 1405792936

ভাসাবিহীন মানগুলি শর্তাধীন বিবৃতিতেও নিরাপদ, কারণ ভাসাটি অযাচিত ফলাফল আনতে পারে। আপনি ভাসা দিয়ে যে গ্রানুলারিটি পান তা প্রয়োজনের চেয়ে বেশি হতে পারে।

if (1405792936.993 < 1405792937) // true

1
সম্পূর্ণরূপে সম্মত 👍 ব্যবহারMath.round(new Date() / 1000)
gdibble

37

আপনার মন্তব্যের ভিত্তিতে, আমি মনে করি আপনি এর মতো কিছু খুঁজছেন:

var timeout = new Date().getTime() + 15*60*1000; //add 15 minutes;

তারপরে আপনার চেকটিতে, আপনি যাচ্ছেন:

if(new Date().getTime() > timeout) {
  alert("Session has expired");
}

16

জাভাস্ক্রিপ্ট যুগ থেকে সেকেন্ডের সংখ্যা পেতে ব্যবহার করুন:

date = new Date();
milliseconds = date.getTime();
seconds = milliseconds / 1000;

9

// The Current Unix Timestamp
// 1443535752 seconds since Jan 01 1970. (UTC)

// Current time in seconds
console.log(Math.floor(new Date().valueOf() / 1000));  // 1443535752
console.log(Math.floor(Date.now() / 1000));            // 1443535752
console.log(Math.floor(new Date().getTime() / 1000));  // 1443535752
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

jQuery এর

console.log(Math.floor($.now() / 1000));               // 1443535752
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


3

এই জাভাস্ক্রিপ্ট সমাধানগুলি আপনাকে 1 ই জানুয়ারী, 1 ই জানুয়ারীর মধ্যরাত থেকে মিলি সেকেন্ড বা সেকেন্ড দেয়।

আইই 9+ সমাধান (আই 8 বা পুরানো সংস্করণ এটি সমর্থন করে না)):

var timestampInMilliseconds = Date.now();
var timestampInSeconds = Date.now() / 1000; // A float value; not an integer.
    timestampInSeconds = Math.floor(Date.now() / 1000); // Floor it to get the seconds.
    timestampInSeconds = Date.now() / 1000 | 0; // Also you can do floor it like this.
    timestampInSeconds = Math.round(Date.now() / 1000); // Round it to get the seconds.

সম্পর্কে আরও তথ্য পেতে Date.now(): https://developer.mozilla.org/en-US/docs/Web/ জাভা স্ক্রিপ্ট রেফারেন্স গ্লোবাল_অবজেক্টস / তারিখ / এখন

জেনেরিক সমাধান:

// ‘+’ operator makes the operand numeric.
// And ‘new’ operator can be used without the arguments ‘(……)’.
var timestampInMilliseconds = +new Date;
var timestampInSeconds = +new Date / 1000; // A float value; not an intger.
    timestampInSeconds = Math.floor(+new Date / 1000); // Floor it to get the seconds.
    timestampInSeconds = +new Date / 1000 | 0; // Also you can do floor it like this.
    timestampInSeconds = Math.round(+new Date / 1000); // Round it to get the seconds.

আপনি যদি এই ক্ষেত্রে এরকম কিছু না চান তবে ব্যবহার করতে সাবধান হন।

if(1000000 < Math.round(1000000.2)) // false.

2
Date.now()-Math.floor(Date.now()/1000/60/60/24)*24*60*60*1000

এটি আপনাকে দিনের শুরু থেকে মিলিসেকেন্ডগুলি দেবে।

(Date.now()-Math.floor(Date.now()/1000/60/60/24)*24*60*60*1000)/1000

এটি আপনাকে সেকেন্ড দেবে।

(Date.now()-(Date.now()/1000/60/60/24|0)*24*60*60*1000)/1000

আগের মতো একই দিনগুলির পরিমাণ মেটাতে বিটওয়াস অপারেটর ব্যবহার করে।


1

1970 এর 1 জানুয়ারি থেকে আপনি সেকেন্ডে / মিলিসেকেন্ডে সময় পেতে অন্য কোনও উপায়ে পূরণ করতে পারেন:

var milliseconds = +new Date;        
var seconds = milliseconds / 1000;

তবে এই ধরণের পদ্ধতির সাথে সাবধানতা অবলম্বন করুন, কারণ এটি পড়তে এবং বুঝতে অসুবিধা হতে পারে।


আমি জানি না যেহেতু ভাষার পার্শ্ব প্রতিক্রিয়াগুলি কখন আরও মার্জিত উপায় using
তোমাজাহলিন

1

ভাল শর্ট কাট:

+new Date # Milliseconds since Linux epoch
+new Date / 1000 # Seconds since Linux epoch
Math.round(+new Date / 1000) #Seconds without decimals since Linux epoch

0

2020 এর কোনও দিন, ক্রোম 80.0.3987.132 এর ভিতরে, এটি দেয় 1584533105

~~(new Date()/1000) // 1584533105
Number.isInteger(~~(new Date()/1000)) // true

-1

দিনের মোট সেকেন্ডে পেতে:

getTodaysTotalSeconds(){
    let date = new Date();        
    return +(date.getHours() * 60 * 60) + (date.getMinutes() * 60);
}

আমি বিনিময়ে যোগ +আছে যা ফিরে আসবে int। এটি অন্যান্য বিকাশকারীদের সহায়তা করতে পারে। :)

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