2017-01-11 60 views
4

存儲在我的數據庫中的日期和時間如下: - 2017-01-11 10:01:55 我希望它插入相同的知道但顯示時我希望它顯示爲時區像在印度亞洲/加爾各答時區 我用如何自動轉換時區

date_default_timezone_set('Asia/Kolkata'); 
       $timestamp = date("Y-m-d h:m:i"); 

,但它在插入代碼的情況下,工作不顯示,我不想提它可以在默認情況下它會自動檢測時區和顯示其時區依次 請幫忙 也試過這個也

date_default_timezone_set('UTC'); 



no success 
+0

如果你想在網頁顯示您可以使用JavaScript。將數據以UTC時間存儲在數據庫中,然後像這樣獲取用戶的時區var d = new Date(); var timezone = d.getTimezoneOffset();',然後根據時區更改日期檢查此鏈接http://stackoverflow.com/questions/10087819/convert-date-to-another-timezone-in-javascript#answer- 18612568 –

+0

請給我發送在web開發中很棒的JS代碼 – Ghugu

+1

數據庫日期沒有「格式」(除非你做錯了,而是將它作爲文本存儲)。關鍵在於他們是否有時區,並且很大程度上取決於您使用的DBMS。無論如何,我認爲你會混淆兩個完全不同的問題:1)如何操作應用程序中的日期2)檢測用戶的時區 –

回答

1

只需將數據存儲在數據庫UTC中,然後將日期傳遞給函數,它將返回您的時區中的日期。

$(function(){ 
 

 
    $('span.time').each(function(i, obj) { 
 
    $(obj).text(convertDate($(obj).text())); 
 
    }); 
 

 
}); 
 
function convertDate(givenDate){ 
 
    var myOldDateObj = new Date(givenDate); 
 
    return myOldDateObj.toString(); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<b>Inputs:</b> 
 
<div> 
 
2017-01-11T12:14:11<br/> 
 
2017-01-10T12:14:11<br/><br/> 
 
</div> 
 
<b>Output:</b><br/> 
 
<span class="time">2017-01-11T04:11:33</span><br/> 
 
<span class="time">2017-01-10T12:14:11</span>

+0

更改系統時區,你可以看到它的工作。 –

+0

我的UTC日期格式是2017-11-01UTC10:01:5510 我不希望它通過onclick我只是想根據用戶時區顯示請幫助@Aman – Ghugu

+0

更改了代碼。它會一直在頁面加載時更新。 –