एक UNIX टाइमस्टैम्प को स्वरूपित तिथि स्ट्रिंग में परिवर्तित करना


183

PHP का उपयोग करते हुए, मैं इसके समान तार तार करने के लिए UNIX टाइमस्टैम्प परिवर्तित करना चाहता हूं: 2008-07-17T09:24:17Z

मैं कैसे इस तरह के रूप में एक टाइमस्टैम्प परिवर्तित 1333699439करने के लिए 2008-07-17T09:24:17Z?

जवाबों:


321

gmdateइस तरह की कोशिश करें:

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

53
कृपया नहीं कि gmdate()GMT में दिनांक / समय लौटाएं। date()स्थानीय दिनांक / समय लौटाएगा।
मैट के

5
उपरोक्त टिप्पणी से इस संदर्भ में कोई मतलब नहीं है। टाइमस्टैम्प के रूप में दूसरे पैरामीटर के साथ तारीख का उपयोग करना, जैसा कि उत्तर में दिखाया गया है, स्थानीय समयक्षेत्र में तारीख को प्रिंट नहीं करेगा। दिनांक को समय-सीमा की जानकारी के साथ मुद्रित किया जाएगा, क्योंकि टाइमस्टैम्प में टाइमज़ोन जानकारी नहीं होती है। 1333699439 के रूप में दूसरे टाइमस्टैम्प पैरामीटर के साथ gmdate और तारीख एक ही तारीख का समय प्रिंट करेगा।
टीनस टेट

1
@MattK: जो समझ में आता है, क्योंकि Z UTC इंगित करता है। टिनस: यूनिक्स टाइमस्टैम्प में टाइमज़ोन ऑफ़सेट्स नहीं होते हैं। dateऔर gmdateटीबी वेरिएबल पर आधारित अलग-अलग होगा (* निक्स पर कम से कम)
गर्ट वैन डेन बर्ग


यह भी अच्छा होगा यदि इस उत्तर में विपरीत समस्या के समाधान को शामिल किया जाए, जो प्रारूपित तिथि को UNIX समय में परिवर्तित करता है।
ओलले हर्स्टेड्ट

117

दिनांक फ़ंक्शन का उपयोग करें date ( string $format [, int $timestamp = time() ] )

उपयोग date('c',time())आईएसओ 8601 तारीख (PHP 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
Utku डालमज़

यह काम की तारीख ("Ymd \ TH: i: s \ Z", 1333699439) मुझे 2012-04-06EDT04: 03: 59-14400
Utku Dalmaz

@ अहित - स्ट्रिंग को परिभाषित करते समय दोहरे और एकल उद्धरणों का उपयोग करें
मार्क बेकर

1
@ user2060451 एक बैकस्लैश से पहले की किसी भी चीज को परिणामी समय स्ट्रिंग में शाब्दिक चरित्र के रूप में दिखाया गया है
verbumSapienti

1
@ user2060451: Z को UTC समय इंगित करना चाहिए (जिस स्थिति में gmdate का उपयोग किया जाना चाहिए ...) अपने पसंदीदा अनुसंधान संसाधन पर ISO8601 जानकारी देखें।
गर्ट वैन डेन बर्ग

56

मान लें कि आप PHP5.3 का उपयोग कर रहे हैं तो तारीखों को संभालने का आधुनिक तरीका देशी डेटाइम क्लास के माध्यम से है । वर्तमान समय पाने के लिए आप बस कॉल कर सकते हैं

$currentTime = new DateTime();

किसी विशिष्ट टाइमस्टैम्प से दिनांक समय ऑब्जेक्ट बनाने के लिए (अर्थात अभी नहीं)

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

एक स्वरूपित स्ट्रिंग प्राप्त करने के लिए आप तब कॉल कर सकते हैं

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

यहां मैनुअल पेज देखें


1
मैं इसके साथ विशिष्ट टाइमस्टैम्प कैसे बदल सकता हूं? उदाहरण के लिए 1333699439
उत्कु डालमज़

@ निश्चित रूप से मैंने उनकी पोस्ट पढ़ी। सभी आवश्यक जानकारी वह मेरे पोस्ट में थी। उसे बस इतना करना था कि DateTime ऑब्जेक्ट के लिए PHP डॉक्स पढ़ें। मैंने अपनी पोस्ट को और भी स्पष्ट करने के लिए संपादित किया है। DateTime ऑब्जेक्ट PHP में जाने का तरीका है और सभी newbies को इसका उपयोग करने के लिए प्रोत्साहित किया जाना चाहिए। अभी तक, मैं केवल एक ही हूं जिसने उत्तर दिया है। Btw मुझे आपकी टिप्पणी थोड़ी आक्रामक लगी है और एसओ की भावना में नहीं।
शराब बनाने वाला

@Ahmetvardar मेरा संपादन देखें हालांकि यह सब PHP डॉक्स में है जिससे मैंने एक लिंक प्रदान किया है। मैं आपको जोर से डेटाइम ऑब्जेक्ट का उपयोग शुरू करने का आग्रह करता हूं। यह समय / समय सहित समय / समय के लिए उत्कृष्ट समर्थन प्रदान करता है
टाइमज़ोन

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/timestamp


2
ISO8601 में, Zयह इंगित करने के लिए उपयोग किया जाता है कि यह एक UTC समय है, इसलिए समय-क्षेत्र निर्धारित किया जाना चाहिएUTC
Gert van den Berg



1

मुझे इस बातचीत में जानकारी इतनी मददगार लगी कि मैं बस यह जोड़ना चाहता था कि मैंने अपने MySQL डेटाबेस से टाइमस्टैम्प का उपयोग करके कैसे पता लगाया और थोड़ा PHP

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

आउटपुट था: 2017-03-03T08: 22: 36 + 01: 00

बहुत बहुत धन्यवाद आप जवाब मेरे लिए एक यूरेका था।


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