একটি ইউনিক্স টাইমস্ট্যাম্প রূপান্তরিত তারিখের স্ট্রিংয়ে রূপান্তর করা


183

পিএইচপি ব্যবহার করে, আমি ইউনিক্স টাইমস্ট্যাম্পগুলি ডেট স্ট্রিংগুলিতে এর অনুরূপ রূপান্তর করতে চাই: 2008-07-17T09:24:17Z

আমি কিভাবে এর মত টাইমস্ট্যাম্প এ কনভার্ট করব 1333699439করার 2008-07-17T09:24:17Z?

উত্তর:


320

এটির gmdateমতো চেষ্টা করুন :

<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

53
দয়া করে gmdate()এটি GMT- এ তারিখ / সময় দেয় না। date()স্থানীয় তারিখ / সময় ফিরিয়ে দেবে।
ম্যাট কে

5
উপরের মন্তব্যটি এই প্রসঙ্গে অর্থবোধ করে না। টাইমস্ট্যাম্প হিসাবে দ্বিতীয় প্যারামিটারের সাথে তারিখটি ব্যবহার করা, যেমন উত্তর হিসাবে দেখানো হয়েছে, স্থানীয় সময় অঞ্চলটিতে তারিখটি মুদ্রণ করবে না। তারিখটি সময় অঞ্চল তথ্য উপেক্ষা করে মুদ্রণ করা হবে, কারণ টাইমস্ট্যাম্পে সময় অঞ্চল তথ্য নেই। 1333699439 হিসাবে দ্বিতীয় টাইমস্ট্যাম্প প্যারামিটার সহ gmdate এবং তারিখ একই তারিখের সময় মুদ্রণ করবে।
টিনুস টেট

1
@ ম্যাটকে: যেহেতু জেনারেটিকে ইউটিসি নির্দেশ করে, তা বোঝায়। টিনাস: ইউনিক্স টাইমস্ট্যাম্পগুলিতে টাইমজোন অফসেট থাকে না। dateএবং gmdateটিউজেড ভেরিয়েবলের ভিত্তিতে আউটপুট পৃথক হবে (কমপক্ষে * নিক্সে)
জার্ট ভ্যান ডান বার্গ

আপনি এই পরীক্ষা করতে পারবেন phpzag.com/convert-unix-timestamp-to-readable-date-time-in-php
Laeeq

যদি এই উত্তরটি বিপরীত সমস্যার সমাধানটি অন্তর্ভুক্ত করে তবে একটি ফর্ম্যাটেড তারিখটিকে ইউনিক্সের সময় রূপান্তর করে nice
ওলে হার্স্টেট

117

তারিখ ফাংশন ব্যবহার করুন date ( string $format [, int $timestamp = time() ] )

ব্যবহার date('c',time())আইএসও 8601 তারিখে রূপান্তর করতে ফর্ম্যাট হিসাবে (পিএইচপি 5 এ যুক্ত হয়েছে) -2012-04-06T12:45:47+05:30

date("Y-m-d\TH:i:s\Z",1333699439)পেতে ব্যবহার করুন2012-04-06T13:33:59Z

এখানে কিছু ফর্ম্যাট তারিখ ফাংশন সমর্থন করে

<?php
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
?>

আমি কীভাবে নির্দিষ্ট টাইমস্ট্যাম্পকে 'সি' দিয়ে রূপান্তর করতে পারি? উদাহরণস্বরূপ 1333699439
উত্কু ডালমাজ

এই কাজের তারিখ ("ইয়ামডি \ এইচ: আই: এস \ জেড", 1333699439) আমি 2012-04-06EDT04: 03: 59-14400
উত্কু ডালমাজ

@ অহমেট - স্ট্রিংটি সংজ্ঞায়িত করার সময় ডাবল এবং একক উদ্ধৃতিগুলির নোটের ব্যবহার
মার্ক বাকের

1
@ ব্যবহারকারী 2060451 ব্যাকস্ল্যাশ এর আগে থাকা যেকোন কিছুকে ফলস্বরূপ টাইম স্ট্রিংয়ের আক্ষরিক চরিত্র হিসাবে দেখানো হয়েছে
ভার্বোমসাপিয়েন্ট

1
@ ব্যবহারকারী2060451: জেড ইউটিসি সময় নির্দেশ করে বলে মনে করা হচ্ছে (যে ক্ষেত্রে জিএমডিট ব্যবহার করা উচিত ...) আপনার প্রিয় গবেষণা সংস্থার আইএসও 8601 তথ্য পরীক্ষা করে দেখুন।
গার্ট ভ্যান ডেন বার্গ

56

ধরে নিই যে আপনি পিএইচপি 5.3 ব্যবহার করছেন তবে তারিখগুলি পরিচালনা করার আধুনিক পদ্ধতিটি দেশীয় ডেটটাইম শ্রেণীর মাধ্যমে । বর্তমান সময়টি পেতে আপনি কেবল কল করতে পারেন

$currentTime = new DateTime();

নির্দিষ্ট টাইমস্ট্যাম্প (যেমন এখন নয়) থেকে ডেটটাইম অবজেক্ট তৈরি করা

$currentTime = DateTime::createFromFormat( 'U', $timestamp );

ফর্ম্যাট স্ট্রিং পেতে আপনি কল করতে পারেন

$formattedString = $currentTime->format( 'c' );

দেখুন ম্যানুয়েল পৃষ্ঠা এখানে


1
আমি কীভাবে এটির সাথে নির্দিষ্ট টাইমস্ট্যাম্প রূপান্তর করতে পারি? উদাহরণস্বরূপ 1333699439
উত্কু ডালমাজ

@ নর্স অবশ্যই আমি তার পোস্টটি পড়েছি। তাঁর প্রয়োজনীয় সমস্ত তথ্য আমার পোস্টে ছিল। তার যা যা করতে হয়েছিল তা হ'ল ডেটটাইম অবজেক্টের জন্য পিএইচপি ডকস পড়তে। আমার পোস্টটি আরও পরিষ্কার করার জন্য আমি সম্পাদনা করেছি। ডেটটাইম অবজেক্টটি পিএইচপি যাওয়ার উপায় এবং সমস্ত নবজাতক এটি ব্যবহার করতে উত্সাহিত করা উচিত। এখনও, আমিই এই উত্তরটি সরবরাহ করেছি। বিটিডব্লু আমি আপনার মন্তব্যটি কিছুটা আক্রমণাত্মক এবং এসওয়ের চেতনাতে যথেষ্ট নয়।
অ্যালকোভিভিকার

@ আহমেটওয়ারদার আমার সম্পাদনা দেখুন যদিও এই সমস্ত পিএইচপি ডক্সে আমি একটি লিঙ্ক সরবরাহ করেছি। আমি আপনাকে দৃ strongly়ভাবে ডেটটাইম অবজেক্টটি ব্যবহার শুরু করার জন্য অনুরোধ করছি। এটি তারিখ / সময়গুলির জন্য
টাইমজোনস

18

সঠিক ফলাফল পেতে একটি ডিফল্ট সময় অঞ্চল নির্ধারণ করা খুব গুরুত্বপূর্ণ

<?php
// set default timezone
date_default_timezone_set('Europe/Berlin');

// timestamp
$timestamp = 1307595105;

// output
echo date('d M Y H:i:s Z',$timestamp);
echo date('c',$timestamp);
?> 

অনলাইন রূপান্তর সহায়তা: http://freeonlinetools24.com / টাইমস্ট্যাম্প


2
আইএসও ৮1০১-এ, Zএটি ইউটিসি সময় হওয়ার ইঙ্গিত দেওয়ার জন্য ব্যবহৃত হয় , তাই টাইমজোনটি সেট করা উচিতUTC
গার্ট ভ্যান ডান বার্গ

11
<?php
$timestamp=1486830234542;
echo date('Y-m-d H:i:s', $timestamp/1000);
?>

6
বিভাজন অংশ ছাড়া কাজ করে। অন্যথায় তারিখটি ডিফল্ট হবে
1970০


1

আমি এই কথোপকথনের তথ্যটি এতটা সহায়ক হিসাবে পেয়েছি যে আমি আমার মাইএসকিউএল ডাটাবেস এবং সামান্য পিএইচপি থেকে টাইমস্ট্যাম্প ব্যবহার করে এটি কীভাবে নির্ধারণ করেছি তা কেবল যুক্ত করতে চেয়েছিলাম conversation

 <?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>

আউটপুটটি ছিল: 2017-03-03T08: 22: 36 + 01: 00

আপনাকে অনেক ধন্যবাদ স্টিও আমার উত্তর একটি ইউরেকা ছিল।


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