OSDN Git Service

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/hirameki-note/trunk@13 a9a2e140...
[hirameki-note/repo.git] / hirameki-note / src / main / php / common / Hirameki_DateTimeUtil.php
        // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\r
        // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
        \r
-       require_once("MDB2.php");\r
+       require_once("error.php");\r
        \r
-       require_once(dirname(__FILE__) . "/../common/common.php");\r
-       require_once(dirname(__FILE__) . "/../config/config.php");\r
-       \r
-       function login($name, $password) {\r
-               /*\r
-                * \88ø\90\94\82ð\8am\94F\82µ\82Ü\82·\81B\r
+       /**\r
+        * 日付・時刻に関連する機能を提供します。\r
+        * \r
+        * 日付・時刻は扱いに注意が必要な型です。\r
+        * ひらめきノートで日付・時刻を扱う場合、必ず{@link Hirameki_DateTimeUtil}クラスを通して扱います。\r
+        * \r
+        * @package common\r
+        * @author u6k <u6k.yu1@gmail.com>\r
+        * @copyright Copyright (c) 2008 u6k.yu1@gmail.com, All rights reserved.\r
+        * @license BSD License\r
+        * @version $Id$\r
+        * @link http://hirameki-note.sourceforge.jp/ ひらめきノート\r
+        */\r
+       class Hirameki_DateTimeUtil {\r
+               /**\r
+                * 現在日時を返します。\r
+                * \r
+                * 実際は、32bitの整数値を返します。\r
+                * この整数値はエポック秒です。\r
+                * \r
+                * @param void\r
+                * @return 現在日時。\r
                 */\r
-               if (empty($name)) {\r
-                       throw new ArgumentException("name\88ø\90\94\82ª\8bó\82Å\82·\81B");\r
-               }\r
-               if (!is_string($name)) {\r
-                       throw new ArgumentException("name\88ø\90\94\82ª\95\8e\9a\97ñ\8c^\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B");\r
-               }\r
-               if (empty($password)) {\r
-                       throw new ArgumentException("password\88ø\90\94\82ª\8bó\82Å\82·\81B");\r
-               }\r
-               if (!is_string($password)) {\r
-                       throw new ArgumentException("password\88ø\90\94\82ª\95\8e\9a\97ñ\8c^\82Å\82Í\82 \82è\82Ü\82¹\82ñ\81B");\r
+               public static function now() {\r
+                       return time(); // TODO 32bit整数値であり、2037年までしか扱えません。改善する必要があります。\r
                }\r
                \r
-               /*\r
-                * \83f\81[\83^\83x\81[\83X\82©\82ç\83A\83J\83E\83\93\83g\8fî\95ñ\82ð\8c\9f\8dõ\82µ\81A\83\8d\83O\83C\83\93\8am\94F\82ð\8ds\82¢\82Ü\82·\81B\r
+               /**\r
+                * 日時に書式を適用して、文字列に変換して返します。\r
+                * \r
+                * 書式は、ユーザごとに設定でき、このメソッドはそのユーザごとの書式で日時を文字列に変換します。\r
+                * \r
+                * @param int $time 文字列に変換する日時。\r
+                * @return 日時から変換した文字列。\r
                 */\r
-               global $config;\r
-               $con = MDB2::connect($config);\r
-               $con->loadModule("Extended");\r
-               \r
-               $sql = <<< SQL_END\r
-select\r
-       account.id as id,\r
-       account.name as name,\r
-       account.real_name as real_name,\r
-       account.email as email\r
-from\r
-       account,\r
-       (\r
-               select\r
-                       id,\r
-                       max(create_time) as latest_time\r
-               from\r
-                       account\r
-               group by\r
-                       id\r
-               having\r
-                       name = :name\r
-                       and password = :password\r
-       ) as latest_account\r
-where\r
-       account.id = latest_account.id\r
-       and account.create_time = latest_account.latest_time\r
-       and account.enable = :enable\r
-SQL_END;\r
-               $type = "integer";\r
-               $param = array(\r
-                       "name" => $name,\r
-                       "password" => md5($password),\r
-                       "enable" => 1\r
-               );\r
-               $param_type = array(\r
-                       "name" => "text",\r
-                       "password" => "text",\r
-                       "enable" => "integer"\r
-               );\r
-               \r
-               $result = $con->getOne($sql, $type, $param, $param_type);\r
-               \r
-               $con->disconnect();\r
-               \r
-               \r
+               public static function format($time) {\r
+                       return date("Y-m-d H:i:s", $time); // TODO ユーザごとの書式で変換するようにします。\r
+               }\r
        }\r
 ?>\r