2012-01-19 3 views
2

codeigniterの日付ヘルパをロードすると、関数 "local_to_gmt()"がありますが、引数はなく、現在のサーバ時間(time() 。codeigniterでユーザのローカルタイムをgmt unixのタイムスタンプに変換する

私は、自分の現地時間とデータベースのDSTフィールドに従って、ユーザーから与えられた他の時間を変換できる機能が必要です。

または、2つのパラメータがさらに多いhuman_to_unix()のような関数:dstとローカル時刻。

このような機能はありますか?私が言っていた


:local_to_gmt()は引数を取りませんが、最初の回答は、それは同様の引数を取るDOES言うように。 しかし、私はユーザーのタイムゾーンと夏時間のオプションに焦点を当てています。


3RD UPDATE !!!

私は解決策を見つけましたが、stackoverlowの法則によれば、数時間後まで私自身の質問に答えることができませんでした。 http://codeigniter.com/wiki/convert_to_gmt

function convert_to_gmt($time = '', $timezone = 'UTC', $dst = FALSE) 
{    
    if ($time == '') 
    { 
     return now(); 
    } 

    $time -= timezones($timezone) * 3600; 

    if ($dst == TRUE) 
    { 
     $time -= 3600; 
    } 

    return $time; 
} 

しかし、問題はまだあります:

が$ dstが問題なく動作することを、あなたを信じていますが、今まで私のために最寄りの解決策になるかもしれません。この機能で

ルック?私が理解しているように、関数によれば、$ dstは常に1時間減少します。しかし、それは夏であるかどうかの天候に気づかなければなりません。それは冬であっても時間を短縮します!!!

この問題を解決するにはどうすればよいですか?

+0

[PHPで日付形式を別の形式に変換する](http://stackoverflow.com/questions/2167916/convert-one-date-format-into-another-in-php)の複製も可能です。右の多くの関連する質問とサイトの検索を使用します。 – hakre

+0

私の質問とあなたがコメントしたリンクとの間には関係がありません。私はユーザー固有のタイムゾーンとDSTの設定について話しています。しかし、質問と最善の答え(私はそれらの2つだけを読んでいた)のどれもユーザーの現地時間ではありませんでした。とにかく –

+0

あなたが必要としているが、それがどのように行われているかを見る方が良い機能を求めるのは賢明ではありません。私が告白しなければならないのは本当にフィッティングではありませんでしたが、他の関連する質問も指摘しました。 (PHP、Codeigniter:Webアプリケーション内で世界的にユーザーのタイムゾーン/場所に基づいて日付/時刻を設定する方法)(http://stackoverflow.com/questions/2274568/php-codeigniter -the-to-set-date-on-users-timezone-location-全体的に) – hakre

答えて

0

Codeigniterの動作

1

Manualは言う:

local_to_gmt()
は、入力としてのUnixタイムスタンプを取り、GMT

としてそれを返す...と、この例が用意されています

$now = time(); 
$gmt = local_to_gmt($now); 

だから私はそれが実際に議論を受け入れると言うことを敢えてします。私は質問をしたとき、私はPHPがこれらの機能を持っていることを知らなかったので、私は、このような見上げたのだ

:のようなPHPでgmグループ機能を使用して

+0

ああ、そうだよ。しかし、ユーザーのローカルタイムとDST設定は気にしません。 –

+0

UNIXのタイムスタンプは「ユニバーサル」なので、あなたがどこにいても同じであるため、タイムゾーン情報は含まれません。定期的な日付との間で変換する場合は、タイムゾーンを考慮します(例:19/01/2012 13:14)。 –

+0

はい、あなたは正しいです。そのため、私はユーザが(ユーザテーブルの彼のデータベースフィールドに従って)時刻を変更し、それをunixのタイムスタンプに変換する機能を必要としています。このようにして、自分で計算し、他のユーザーの現地時間で表示することもできます。 –

関連する問題