मिलीसेकंड को एक दिनांक में परिवर्तित करना (jQuery / जावास्क्रिप्ट)


197

मैं थोड़ा संभल रहा हूं, लेकिन मैं इसे स्पष्ट रखने की कोशिश करूंगा -

मैं ऊब गया हूं, इसलिए मैं "shoutbox" पर काम कर रहा हूं , और मैं एक चीज पर थोड़ा भ्रमित हूं। मैं उस समय को प्राप्त करना चाहता हूं जो एक संदेश दर्ज किया गया है, और मैं यह सुनिश्चित करना चाहता हूं कि मुझे सर्वर समय मिल रहा है, या कम से कम यह सुनिश्चित करें कि मुझे उपयोगकर्ता का स्थानीय समय नहीं मिल रहा है। मुझे पता है कि इससे कोई फर्क नहीं पड़ता, क्योंकि यह बात मेरे अलावा किसी के द्वारा उपयोग नहीं की जाएगी, लेकिन मैं पूरी तरह से होना चाहता हूं। मैंने चारों ओर देखा है और कुछ चीजों का परीक्षण किया है, और मुझे लगता है कि ऐसा करने का एकमात्र तरीका यह है कि 1 जनवरी, 1970 00:00:00 यूटीसी के बाद से मिलीसेकंड प्राप्त किया जाए , क्योंकि यह सभी के लिए समान होगा।

मैं ऐसा कर रहा हूँ:

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

वह एक नंबर देता है 1294862756114

क्या 1294862756114अधिक पठनीय तारीख में बदलने का कोई तरीका है , जैसे DD/MM/YYYY HH:MM:SS?

इसलिए, मूल रूप से, मैं PHP के PHP के date();फ़ंक्शन के बराबर देख रहा हूं ।


4
यदि आप स्थानीय समय नहीं चाहते हैं, तो आप इसके लिए जावास्क्रिप्ट का उपयोग क्यों करते हैं? क्या आपको सर्वर पर नहीं करना चाहिए?
फाजो

1
इस लाइब्रेरी को देखें -> datejs.com (चेक आउट आउटस्ट्रिंग ())
रयान

@fazo - यह कम या ज्यादा प्रोजेक्ट था जिसका उद्देश्य मुझे JS के साथ बेहतर बनाने में मदद करना था, इसलिए मैं PHP का कम से कम उपयोग करने की कोशिश कर रहा हूं (उम्मीद है कि केवल एक फ़ाइल में डेटा पढ़ने / लिखने के लिए)।
एंड्रयू

1
मुझे लगता है कि उनका मतलब था कि वह समय के अनुसार समय को प्रारूपित करना चाहते हैं?
रयान

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 date = new Date () के समान परिणाम नहीं मिलता है ; ?
प्रति क्वेस्ट Aronsson

11
ओपी कई मिलीसेकंड से एक Dateवस्तु में परिवर्तित होने के बारे में था , जो कि दूसरी पंक्ति क्या करती है। पहली पंक्ति महज मिलीसेकंड की एक समझदार संख्या प्राप्त करने का एक तरीका है। आप भी बस कर सकते हैं var date = new Date(0);
ब्रायन डोनोवन

2
समय एक नंबर होना है, स्ट्रिंग नहीं
निकोलस एसएक्सयू

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);
};

37

तिथि को अपने इच्छित प्रारूप में परिवर्तित करने के लिए आप बस हमें Datejs पुस्तकालय दे सकते हैं।

मैंने परीक्षण के जोड़े चलाए हैं और यह काम करता है।

नीचे एक स्निपेट दर्शाया गया है कि आप इसे कैसे प्राप्त कर सकते हैं:

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"

4
उन उदाहरणों में Datejs की आवश्यकता नहीं है, वे जावास्क्रिप्ट का हिस्सा हैं। लेकिन वे काम करते हैं और जवाब को पूरी तरह से संतुष्ट करते हैं। धन्यवाद!
माइकल एलियट

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
आपको जावास्क्रिप्ट में अर्ध-कॉलनों की आवश्यकता नहीं है। हालांकि, इसका सबसे अच्छा अभ्यास उनका उपयोग करना है। कभी-कभी, उनके बिना, एक बयान का अर्थ बदल सकता है (हालांकि इस मामले में नहीं)। कुछ कोड समीक्षक उत्साहपूर्वक उन्हें प्यार करते हैं और उनकी उपस्थिति के लिए लड़ते हैं। चीजों को सरल रखने के लिए, इसका हमेशा सबसे अच्छा उपयोग करना।
फिल


7

इस कोड का उपयोग करके देखें:

var milisegundos = parseInt(data.replace("/Date(", "").replace(")/", ""));
var newDate = new Date(milisegundos).toLocaleDateString("en-UE");

का आनंद लें!



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
यह समझाने की कोशिश करें कि यह उत्तर कृपया समस्या का समाधान क्यों करें, कोड को पोस्ट करने से बचें।
इवान

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');

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.