2011-10-06 13 views
12

php dateを使用してiCal DTSTARTの正しい形式を取得する簡単な方法はありますか?PHP DTSTARTのiCal日付形式

私は時間がない場合は、20111008T110000または20111008のような形式が必要です(これは簡単です)。

PHPの日付は、これを行う簡単な方法がありますか?具体的には時間を追加したり、必要なときに削除したりしますか?

+0

PHPの日付はタイムスタンプです。常に日付を含みます。秒。何を探していますか? – hakre

+0

私は以下の答えが私が探していたものを提供すると思います。 –

答えて

18

私が気づいているネイティブのPHP関数や日付形式はありませんので、独自の関数を作成する必要があります。このような何か:

function getIcalDate($time, $incl_time = true) 
{ 
    return $incl_time ? date('Ymd\THis', $time) : date('Ymd', $time); 
} 

hakreコメントで指摘したように、日付フォーマッタは、時間なし、時間と日付と日付を区別することはできません - あなたは、その背後にあるロジックを決定する必要があります。

+0

最後にZが欠けていませんか? –

+6

@DanyKhalife:[RFC](http://www.ietf.org/rfc/rfc2445.txt)によると、日時の値にはいくつかの形式があります。 「Z」のないものは「現地時刻のある日付」と呼ばれ、タイムゾーン情報が関連付けられていないことを意味します。末尾の 'Z'を追加すると、日時がUTC(「UTC時刻の日付」)になります。最後に、タイムゾーンを明示的に定義することができます(「現地時間とタイムゾーンの参照日付」)。 – Viktor

+0

ああ、それは知っていいです、私はそれらの詳細を読むより多くの時間を費やす必要があります:D –

-2

これはlinkthisをお探しの場合があります。

mktime機能は、時間を含めて、または日付だけを含めて、タイムスタンプを作成する機能です。

+0

ダウン投票では、質問はDTSTARTのタイムフォーマットをhttp://tools.ietf.org/html/rfc2445に依頼していました – AshHimself

+0

また、リンクを張るのは良い答えではありません。リンクは時代遅れになることがあります。 – ionize

4
date('Ymd\THis', time()) 

time()は、独自のタイムスタンプで置き換えることができます。