Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.4k views
in Technique[技术] by (71.8m points)

datetime - get the ISO 8601 with seconds.decimal-fraction-of-second date in php?

I echo this :

  php> echo date("Y-m-dTH:i:s");
      2011-05-27T11:21:23

How can do with date function to get this date format:

2011-01-12T14:41:35.7042252+01:00 (for example)

35.7042252 => seconds.decimal-fraction-of-second

I have tried:

php> function getTimestamp()
 ... {
 ...         return date("Y-m-dTH:i:s") . substr((string)microtime(), 1, 8);
 ... }

php> echo getTimestamp();
2011-05-27T15:34:35.6688370 // missing +01:00 how can I do?
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
date('Y-m-dTH:i:s.uP')

u for microseconds was added in PHP 5.2.2. For earlier or (still) broken versions (see comments):

date('Y-m-dTH:i:s') . substr(microtime(), 1, 8) . date('P')

Or, to avoid two calls to date:

date(sprintf('Y-m-dTH:i:s%sP', substr(microtime(), 1, 8)))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...