ここから本文です

PHP csvファイルへの書き込み time()関数について

spi********さん

2013/2/1815:10:54

PHP csvファイルへの書き込み time()関数について

csvファイルに書き込みされたtime()関数がうまく表示されません。
ソースコードは下記のとおりです。
<?php
// 掲示板のコメントを保持するファイルを指定
$bbs_file = "bbs.csv";

// ファイルを追記モードで開く
$handle = fopen($bbs_file, "a");

// 書き込みたい情報を配列にまとめる
$csv[] = "ひよこ";
$csv[] = "ぴよぴよ";
$csv[] = time();

// ファイルに書き込みを行う
$result = fputcsv($handle,$csv);

// ファイルを閉じる
fclose($handle);
?>

csvファイルの書き込み結果は下記のとおりです。
ひよこ ぴよぴよ 1360898951

本来なら現在時刻が表示されるはずなのですが。。。該当セルの表示形式を時刻にすると下記のようになります。
ひよこ ぴよぴよ ###################################################################################################################################################################################################################
あと、csvファイルはエクセルで問題ないですよね。拡張子は.csvで保存しています。
初心者の為、変な質問かもしれませんが宜しくお願い致します。

閲覧数:
504
回答数:
3
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

shimixさん

編集あり2013/2/1816:30:34

spiralcutter51さん

>本来なら現在時刻が表示されるはずなのですが。。。

なぜそう思われたのでしょうか?time()が返すのは「Unixタイムスタンプ」の整数値です。

http://php.net/manual/ja/function.time.php

一方、Excelの時刻値は「シリアル値」であって全然違うものです(時刻は小数以下で表す)。

http://exinfo.biz/lec/lec_serial.shtml

Excelで「時刻」と判断してもらいたければ、date('H:i:s') のような文字列の方が確実だと思います。



(追記)
(質問に書かれている)「時刻」じゃなくて「日時」が必要なら、date('Y/m/d H:i:s'); ですね(汗

質問した人からのコメント

2013/2/18 17:02:43

やっと理解できました。
とても分かりやすい説明ありがとうございます。
感謝感謝です。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

niikoujpさん

2013/2/1816:08:29

今回のtime()=1360898951秒で、

1日が24x3600秒=86400秒だから、

1360898951÷86400=約15751.145日

15751.145÷365日=約43.153年

1970/1/1+43.153年=2013年・・・

で合ってる。
文字列で保存したらどうですか。


function time_str($df){
$yy = date("Y",$df);//yyyy年
$mm = date("m",$df);//01-12月
$dd = date("d",$df);//01-31日
$ww = date("w",$df);//0-6
$hh = date("H",$df);//00-23
$nn = date("i",$df);//00-59
$ss = date("s",$df);//00-59
return ( "{$yy}-{$mm}-{$dd} {$hh}:{$nn}:{$ss}");
}

$csv[] = "ひよこ";
$csv[] = "ぴよぴよ";
$s=time_str(time());
$csv[] = "{$s}";

sp2********さん

2013/2/1815:30:40

time()で取得できるのは1970年1月1日0時0分0秒からの経過秒数エポック秒です。

好きな形式に変更したい場合はdate関数を使ってください。
http://phpjp.com/date.htm

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる