মিলি সেকেন্ডগুলিকে একটি তারিখে রূপান্তর করা হচ্ছে (jQuery / জাভাস্ক্রিপ্ট)


197

আমি এক ঝাঁকুনির মতো, তবে আমি এটি পরিষ্কার রাখার চেষ্টা করব -

আমি বিরক্ত, তাই আমি একটি "শোকবক্স" এ কাজ করছি , এবং আমি একটি বিষয় নিয়ে কিছুটা বিভ্রান্ত হয়েছি। আমি কোনও বার্তা প্রবেশের সময়টি পেতে চাই এবং আমি এটি নিশ্চিত করতে চাই যে আমি সার্ভারের সময় পাচ্ছি, বা কমপক্ষে নিশ্চিত হয়ে নিন যে আমি ব্যবহারকারীর স্থানীয় সময় পাচ্ছি না। আমি জানি এটি কোনও ব্যাপার নয়, যেহেতু এই জিনিসটি আমার ছাড়া অন্য কারও দ্বারা ব্যবহৃত হবে না, তবে আমি পুরোপুরি হতে চাই। আমি কয়েকটি জিনিস ঘুরে দেখেছি এবং পরীক্ষা করেছি এবং আমি মনে করি এটি করার একমাত্র উপায় হ'ল 1 জানুয়ারী, 1970 00:00:00 ইউটিসি থেকে মিলিসেকেন্ডগুলি পাওয়া , যেহেতু এটি সবার জন্য একই হবে।

আমি এরকমই করছি:

var time = new Date();
var time = time.getTime();

যে একটি সংখ্যা ফিরে 1294862756114

এর 1294862756114মতো আরও পাঠযোগ্য তারিখে রূপান্তর করার কোনও উপায় আছে কি DD/MM/YYYY HH:MM:SS?

সুতরাং, মূলত, আমি জাভাস্ক্রিপ্টের পিএইচপি date();ফাংশনের সমতুল্য খুঁজছি ।


4
আপনি যদি স্থানীয় সময় থাকতে চান না, তবে কেন আপনি এর জন্য জাভাস্ক্রিপ্ট ব্যবহার করেন? আপনি সার্ভার এ না করা উচিত?
ফাজো

1
এই লাইব্রেরিটি দেখুন -> ডেটজেএস.কম ( টু স্ট্রিং () দেখুন)
রায়ান

@ ফাজো - এটি জেএসের সাথে আরও ভাল হতে সাহায্য করার উদ্দেশ্যে আমার একটি প্রকল্প কম-বেশি ছিল, তাই আমি পিএইচপি যতটা সম্ভব ব্যবহার করার চেষ্টা করছি (আশা করি কেবল কোনও ফাইলে ডেটা পড়ার / লেখার জন্য)।
অ্যান্ড্রু

1
আমি মনে করি তার অর্থ তিনি সেই অনুসারে টাইম স্ট্রিংটি ফর্ম্যাট করতে চান?
রায়ান 20

2
?/?/1970 or whatever it is-> ইউনিক্স এপোচ ,1970-01-01T00:00:00Z
ক্যামিলো মার্টিন

উত্তর:


304

    var time = new Date().getTime();
    var date = new Date(time);
    alert(date.toString()); // Wed Jan 12 2011 12:42:46 GMT-0800 (PST)


1
এটি দুটি পদক্ষেপে করার কোন সুবিধা আছে? (প্রথমে সময় গণনা করা, তারপরে এটি তারিখের আর্গুমেন্ট হিসাবে ব্যবহার করা)। আপনি ঠিক var তারিখ = নতুন তারিখ () দ্বারা ঠিক একই ফলাফল পাবেন না ; ?
পের কুইস্টড আরনসন

11
ওপিটি কয়েক মিলিসেকেন্ড থেকে একটি Dateবস্তুকে রূপান্তরিত করতে চলেছিল, যা দ্বিতীয় লাইনটি করে। প্রথম লাইনটি বুদ্ধিমান সংখ্যক মিলি সেকেন্ডের পাওয়ার উপায়। আপনি ঠিক করতে পারে var date = new Date(0);
ব্রায়ান ডোনভান

2
সময়টি স্ট্রিং নয়, একটি সংখ্যা হতে হবে
নিকোলাস এস এক্সু

শুধু করুনdate.toISOString()
অ্যান্ডি বি

152

আপনি যদি নিজের তারিখের জন্য কাস্টম বিন্যাস চান তবে আমি এটির জন্য একটি সাধারণ ফাংশন অফার করছি:

var now = new Date;
console.log( now.customFormat( "#DD#/#MM#/#YYYY# #hh#:#mm#:#ss#" ) );

এখানে টোকেন সমর্থিত:

token:     description:             example:
#YYYY#     4-digit year             1999
#YY#       2-digit year             99
#MMMM#     full month name          February
#MMM#      3-letter month name      Feb
#MM#       2-digit month number     02
#M#        month number             2
#DDDD#     full weekday name        Wednesday
#DDD#      3-letter weekday name    Wed
#DD#       2-digit day number       09
#D#        day number               9
#th#       day ordinal suffix       nd
#hhhh#     2-digit 24-based hour    17
#hhh#      military/24-based hour   17
#hh#       2-digit hour             05
#h#        hour                     5
#mm#       2-digit minute           07
#m#        minute                   7
#ss#       2-digit second           09
#s#        second                   9
#ampm#     "am" or "pm"             pm
#AMPM#     "AM" or "PM"             PM

এবং এখানে কোড:

//*** This code is copyright 2002-2016 by Gavin Kistner, !@phrogz.net
//*** It is covered under the license viewable at http://phrogz.net/JS/_ReuseLicense.txt
Date.prototype.customFormat = function(formatString){
  var YYYY,YY,MMMM,MMM,MM,M,DDDD,DDD,DD,D,hhhh,hhh,hh,h,mm,m,ss,s,ampm,AMPM,dMod,th;
  YY = ((YYYY=this.getFullYear())+"").slice(-2);
  MM = (M=this.getMonth()+1)<10?('0'+M):M;
  MMM = (MMMM=["January","February","March","April","May","June","July","August","September","October","November","December"][M-1]).substring(0,3);
  DD = (D=this.getDate())<10?('0'+D):D;
  DDD = (DDDD=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][this.getDay()]).substring(0,3);
  th=(D>=10&&D<=20)?'th':((dMod=D%10)==1)?'st':(dMod==2)?'nd':(dMod==3)?'rd':'th';
  formatString = formatString.replace("#YYYY#",YYYY).replace("#YY#",YY).replace("#MMMM#",MMMM).replace("#MMM#",MMM).replace("#MM#",MM).replace("#M#",M).replace("#DDDD#",DDDD).replace("#DDD#",DDD).replace("#DD#",DD).replace("#D#",D).replace("#th#",th);
  h=(hhh=this.getHours());
  if (h==0) h=24;
  if (h>12) h-=12;
  hh = h<10?('0'+h):h;
  hhhh = hhh<10?('0'+hhh):hhh;
  AMPM=(ampm=hhh<12?'am':'pm').toUpperCase();
  mm=(m=this.getMinutes())<10?('0'+m):m;
  ss=(s=this.getSeconds())<10?('0'+s):s;
  return formatString.replace("#hhhh#",hhhh).replace("#hhh#",hhh).replace("#hh#",hh).replace("#h#",h).replace("#mm#",mm).replace("#m#",m).replace("#ss#",ss).replace("#s#",s).replace("#ampm#",ampm).replace("#AMPM#",AMPM);
};

আমি "# এইচএইচ # সামরিক / 24-ভিত্তিক ঘন্টা 17" ব্যবহার করেছি। আপনি কি কোনও সমাধান শিখিয়ে নিতে পারেন, যা এই ফর্ম্যাটে শূন্যস্থানও তৈরি করে? ধন্যবাদ!
টেলোব

1
আমি এএমপিএম-এর পরে এই লাইনটি যুক্ত করেছি: যদি (hhh <10) hhh = ('0' + এইচএইচ);
টেলোব

হতে পারে আপনি কেবল পোস্টে আপনার কার্যগুলি প্রসারিত করতে পারেন।
টেলোব

1
@ টেললব আমি 0 টি প্যাডের #hhhh#সংস্করণ হিসাবে যুক্ত করতে উপরের কোডটি সম্পাদনা করেছি #hhh#
ফ্রেগজ

কীভাবে কপিরাইট সম্পর্কে, আমাদের এটি ব্যবহারের অনুমতি দেওয়া হচ্ছে?
黄雨伞

37

আপনার পছন্দসই ফর্ম্যাটে তারিখটি রূপান্তর করতে আপনি কেবল আমাদের ডেটজ লাইব্রেরি করতে পারেন ।

আমি দম্পতিদের পরীক্ষা চালিয়েছি এবং এটি কার্যকর হয়।

আপনি কীভাবে এটি অর্জন করতে পারবেন তা চিত্রিত করে নীচে একটি স্নিপেট রয়েছে:

var d = new Date(1469433907836);

d.toLocaleString(); // expected output: "7/25/2016, 1:35:07 PM"

d.toLocaleDateString(); // expected output: "7/25/2016"

d.toDateString();  // expected output: "Mon Jul 25 2016"

d.toTimeString(); // expected output: "13:35:07 GMT+0530 (India Standard Time)"

d.toLocaleTimeString(); // expected output: "1:35:07 PM"

3
এই উদাহরণগুলির জন্য ডেটজগুলি প্রয়োজন হয় না, এগুলি জাভাস্ক্রিপ্টের অংশ। তবে তারা কাজ করে এবং উত্তরটি পুরোপুরি সন্তুষ্ট করে। ধন্যবাদ!
মাইকেল এলিয়ট

19

নীচে আপনাকে একটি পছন্দসই আউটপুটে তারিখটি ফর্ম্যাট করতে সক্ষম করার জন্য একটি স্নিপেট রয়েছে:

var time = new Date();
var time = time.getTime();

var theyear = time.getFullYear();
var themonth = time.getMonth() + 1;
var thetoday = time.getDate();

document.write("The date is: ");
document.write(theyear + "/" + themonth + "/" + thetoday);

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

10

এই কোডটি ব্যবহার করে দেখুন:

var datetime = 1383066000000; // anything
var date = new Date(datetime);
var options = {
        year: 'numeric', month: 'numeric', day: 'numeric',
    };

var result = date.toLocaleDateString('en', options); // 10/29/2013

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


সংক্ষিপ্ত উত্তর :)
আহমদ শরীফ


2

আর একবার চেষ্টা কর :

var time = new Date().toJSON();

0
/Date(1383066000000)/

function convertDate(data) {
    var getdate = parseInt(data.replace("/Date(", "").replace(")/", ""));
    var ConvDate= new Date(getdate);
    return ConvDate.getDate() + "/" + ConvDate.getMonth() + "/" + ConvDate.getFullYear();
}

3
এই উত্তরটি কেন সমস্যার সমাধান করে তা বোঝানোর চেষ্টা করুন, কেবল কোড পোস্ট করা এড়ান।
ইভান

আমার জন্য এটি 1 মাস কম ফেরত?
আবদুল কাইয়ুম

0

ধরুন তারিখটি মিলি সেকেন্ডের তারিখ হিসাবে 1526813885836, সুতরাং আপনি এই নমুনা কোডটির সাহায্যে স্ট্রিং হিসাবে তারিখটি অ্যাক্সেস করতে পারেন:

console.log(new Date(1526813885836).toString());

স্বচ্ছতার জন্য কোডের নীচে দেখুন:

const theTime = new Date(1526813885836);
console.log(theTime.toString());

0

তারিখ ব্যবহার করুন

new Date().toString('yyyy-MM-d-h-mm-ss');

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