আমি এই সমস্যার সমাধানও খুঁজছিলাম, শেষ পর্যন্ত আমি যা এলাম তা এখানে:
function getTimeStr() {
var dt = new Date();
var d = dt.toLocaleDateString();
var t = dt.toLocaleTimeString();
t = t.replace(/\u200E/g, '');
t = t.replace(/^([^\d]*\d{1,2}:\d{1,2}):\d{1,2}([^\d]*)$/, '$1$2');
var result = d + ' ' + t;
return result;
}
আপনি এটি এখানে চেষ্টা করতে পারেন: http://jsfiddle.net/B5Zrx/
200 u200E হ'ল এমন কিছু ফর্ম্যাটিং চরিত্র যা আমি কিছু আইই সংস্করণে দেখেছি (এটি ইউনিকোড বাম থেকে ডান চিহ্ন)।
আমি ধরে নিয়েছি যে ফর্ম্যাট সময়টিতে "XX: XX: XX" এর মতো কিছু থাকে তবে এটি অবশ্যই সেকেন্ডের সাথে সময় হয় এবং আমি শেষ অংশটি সরিয়ে ফেলি, যদি আমি এই প্যাটার্নটি খুঁজে না পাই তবে কিছুই পরিবর্তন হয় না। বেশ নিরাপদ তবে কিছু অদ্ভুত পরিস্থিতিতে কয়েক সেকেন্ড রেখে যাওয়ার ঝুঁকি রয়েছে।
আমি কেবল আশা করি এমন কোনও লোকেল নেই যা ফর্ম্যাট হওয়া সময়ের অংশগুলির ক্রম পরিবর্তন করবে (যেমন: এটি এসএস: মিমি: এইচ করুন)। এই বাম থেকে ডান চিহ্নটি আমাকে এ সম্পর্কে কিছুটা ঘাবড়েচ্ছে যদিও সে কারণেই আমি ডান থেকে বাম চিহ্ন (\ u202E) সরিয়ে নেই - আমি এই ক্ষেত্রে কোনও মিল খুঁজে না পাওয়া পছন্দ করি এবং ছেড়ে চলে যাব এই ক্ষেত্রে সেকেন্ডের সাথে সময় বিন্যাস করা।