< | >

Unixタイムで表示される日付
  • (2009-05-30 09:31:36)
tksqliteでSQLiteからテキストデータを落とすも日付がおかしい

-------------------------------

tksqliteを試している。世の中には凄い人々がいるものである。感謝したい。問題は一気に解決。データベースの記事内容のテキスト変換は可能となった。

文字コードも、PHPで日本語処理する際、標準的に使用されるUTF-8だけでなく、Shit_JISが使える。PC上で操作する際はやはり、Shit_JISが便利。

しかし、日付がおかしい。たとえば「2005/10/24」とあるべきところが「1234567890」となる。

これは「Unixタイム」や「Unix時間」と呼ばれる表記方法。「エポック秒」とも言うらしい。1970年からの秒数で表現されている。PHPでは日時のデータ型がないのでストリングで表現とのこと。日時と秒総数の変換はdateとStrToTime関数で行うらしい。

Excelで変換する場合:

・Unix時間->Excel

=TEXT(A1/86400+("1970/1/2"*1-"1900/1/1"*1+"9:0"*1),"yyyy/mm/dd hh:mm:ss")

・Excel->Unix時間

=(A1-25569)*86400

Unix時間変換関数:

date("Y/m/d H:i:s",1234567890)

strtotime("2005/10/24 07:00:35")

<?php

print <<<eof

<HTML><BODY>

// 1970/01/01 00:00:00 GMTからの秒数<br>

//※「Unix epoch(1970年1月1日 00:00:00 GMT))からの通算秒」<br>

// タイムスタンプから YYYY/MM/DD hh:mm:ss 書式化にする<br>

// http://www.php.net/manual/ja/function.date.php<br>

<hr>

・1130104835の変換<br>

・1217300258の変換<br>

・1218054938の変換<br>

<br>

eof;

//-------------------------------

$a = date("Y/m/d H:i:s",1130104835);

$b = date("Y/m/d H:i:s",1217300258);

$c = date("Y/m/d H:i:s",1218054938);

echo ($a."<br>");

echo ($b."<br>");

echo ($c."<br>");

echo ("<br><br><br>");

// 日付の文字列からタイムスタンプにする

echo strtotime("2005/10/24 07:00:35")."<br>\n";

echo strtotime("2008/07/29 11:57:38")."<br>\n";

echo strtotime("2008/08/07 05:35:38")."<br>\n";

//-------------------------------

print <<<eof

<hr>

</BODY></HTML>

eof;

?>






<< HTMLページ手打ち編集の悩み< | >SQLite2データのインポート&エクスポート >>
search
layout
admin

[▲page top]