ইউনিক্স টাইমস্ট্যাম্পটি মাইএসকিউএল ব্যবহার করে মানব পাঠযোগ্য তারিখে রূপান্তর করুন


222

এমন কোনও মাইএসকিউএল ফাংশন রয়েছে যা ইউনিক্স টাইমস্ট্যাম্পটিকে মানব পাঠযোগ্য তারিখে রূপান্তর করতে ব্যবহার করা যেতে পারে? আমার একটি ক্ষেত্র রয়েছে যেখানে আমি ইউনিক্স বারগুলি সংরক্ষণ করি এবং এখন আমি মানব পাঠযোগ্য তারিখের জন্য অন্য একটি ক্ষেত্র যুক্ত করতে চাই।


1
মাইএসকিউএল ম্যানুয়ালটিতে তারিখ এবং সময় ফাংশন
পেক্কা

উত্তর:


392

ব্যবহার FROM_UNIXTIME():

SELECT
  FROM_UNIXTIME(timestamp) 
FROM 
  your_table;

আরও দেখুন: মাইএসকিউএল ডকুমেন্টেশন অনFROM_UNIXTIME()


3
এখানে অফিসিয়াল ডক্স রয়েছে from_unixtime: dev.mysql.com/doc/refman/5.1/en/…
ড্যাক্রসবি

দুঃখজনকভাবে সেখানে নেই TO_UNIXTIME, পরিবর্তে UNIX_TIMESTAMP
ওলে হার্স্টেট

108

অন্যান্য উত্তরগুলি (এই লেখার মতো) থেকে কী অনুপস্থিত এবং সরাসরি স্পষ্ট নয় তা হ'ল from_unixtimeফর্ম্যাটটি নির্দিষ্ট করতে দ্বিতীয় প্যারামিটার লাগতে পারে:

SELECT
  from_unixtime(timestamp, '%Y %D %M %H:%i:%s')
FROM 
  your_table

20
খুব সামান্য সমস্যা, তবে% এইচটি 12-ঘন্টা বিন্যাসে ঘন্টা, যার পরে সম্পূর্ণতার জন্য% পি প্রয়োজন (এএম / পিএম)। অথবা% এইচ 24 ঘন্টা বিন্যাসে ঘন্টা দেয়।
tlum


19

একটি নির্দিষ্ট টাইম জোনে ইউনিক্স টাইমস্ট্যাম্প দরকার?

আপনার যদি মাইএসকিএল ক্লাইমে দ্রুত অ্যাক্সেস পেয়ে থাকে তবে এখানে একটি লাইনার রয়েছে:

mysql> select convert_tz(from_unixtime(1467095851), 'UTC', 'MST') as 'local time';

+---------------------+
| local time          |
+---------------------+
| 2016-06-27 23:37:31 |
+---------------------+

'MST'আপনার কাঙ্ক্ষিত সময় অঞ্চল দিয়ে প্রতিস্থাপন করুন । আমি অ্যারিজোনায় থাকি - এভাবে ইউটিসি থেকে এমএসটিতে রূপান্তর।


7

ক্ষেত্রটি পাঠযোগ্য হিসাবে সংরক্ষণ করা কেন বিরক্ত করবেন? শুধু আমাদেরAS

SELECT theTimeStamp, FROM_UNIXTIME(theTimeStamp) AS readableDate
               FROM theTable
               WHERE theTable.theField = theValue;

সম্পাদনা: দুঃখিত, আমরা সেকেন্ডে নয় সবকিছু মিলিসেকেন্ডে সঞ্চয় করি। ঠিক কর.


4

আপনি DATE_FORMAT ফাংশনটি ব্যবহার করতে পারেন। উদাহরণগুলির সাথে এখানে একটি পৃষ্ঠা এবং বিভিন্ন তারিখের উপাদানগুলি বেছে নিতে আপনি যে প্যাটার্নগুলি ব্যবহার করতে পারেন তা এখানে।



1

যেহেতু আমি এই প্রশ্নটি সচেতন না হতে দেখেছি, যে মাইএসকিএল সর্বদা ইউটিসি-তে টাইমস্ট্যাম্প ক্ষেত্রগুলিতে সময় সঞ্চয় করে তবে স্থানীয় সময় অঞ্চলে (উদাহরণস্বরূপ phpmyadmin) প্রদর্শন করবে আমি আমার অনুসন্ধানগুলি যুক্ত করতে চাই।

আমার একটি স্বয়ংক্রিয়ভাবে আপডেট হওয়া সর্বশেষ-পরিমার্জিত ক্ষেত্র রয়েছে, এটি হিসাবে সংজ্ঞায়িত:

`last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

Phpmyadmin এর সাথে এটি দেখে মনে হচ্ছে এটি স্থানীয় সময়ে, অভ্যন্তরীণভাবে এটি ইউটিসি

SET time_zone = '+04:00'; // or '+00:00' to display dates in UTC or 'UTC' if time zones are installed.
SELECT last_modified, UNIX_TIMESTAMP(last_modified), from_unixtime(UNIX_TIMESTAMP(last_modified), '%Y-%c-%d %H:%i:%s'), CONVERT_TZ(last_modified,@@session.time_zone,'+00:00') as UTC FROM `table_name`

যে কোনও নক্ষত্রমুখে, ইউনিক্স সময়সীমায় UNIX_TIMESTAMP এবং 'UTC হিসাবে' সর্বদা প্রদর্শিত হয়।

সময়_ অঞ্চল নির্ধারণ না করে প্রথমে এটি দু'বার চালান।

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