Unix zaman damgasını insan tarafından okunabilir bir tarihe dönüştürmek için kullanılabilecek bir MySQL işlevi var mı? Unix zamanlarını kaydettiğim bir alanım var ve şimdi insan tarafından okunabilir tarihler için başka bir alan eklemek istiyorum.
Unix zaman damgasını insan tarafından okunabilir bir tarihe dönüştürmek için kullanılabilecek bir MySQL işlevi var mı? Unix zamanlarını kaydettiğim bir alanım var ve şimdi insan tarafından okunabilir tarihler için başka bir alan eklemek istiyorum.
Yanıtlar:
Kullanım FROM_UNIXTIME()
:
SELECT
FROM_UNIXTIME(timestamp)
FROM
your_table;
Ayrıca bkz: MySQL belgeleriFROM_UNIXTIME()
.
from_unixtime
: dev.mysql.com/doc/refman/5.1/en/…
TO_UNIXTIME
, ama bunun yerine UNIX_TIMESTAMP
.
Diğer cevaplardan eksik olan (bu yazıdan itibaren) ve doğrudan belirgin olmayan from_unixtime
, formatı şu şekilde belirtmek için ikinci bir parametre alabilmesidir:
SELECT
from_unixtime(timestamp, '%Y %D %M %H:%i:%s')
FROM
your_table
Bence aradığın şey FROM_UNIXTIME()
Eğer mysql cli hızlı erişim varsa bir astar:
mysql> select convert_tz(from_unixtime(1467095851), 'UTC', 'MST') as 'local time';
+---------------------+
| local time |
+---------------------+
| 2016-06-27 23:37:31 |
+---------------------+
'MST'
İstediğiniz saat dilimiyle değiştirin . Arizona'da yaşıyorum UTC UTC'den MST'ye dönüşüm.
Kolay ve basit bir yol:
select from_unixtime(column_name, '%Y-%m-%d') from table_name
Bu sorunun farkında olmadığını bulduğumdan, mysql her zaman UTC'de zaman damgası alanlarına zaman depolar, ancak yerel saat diliminde (örn. Phpmyadmin) gösterecektir. Bulgularımı eklemek istiyorum.
Ben otomatik olarak güncellenen bir last_modified alan var, olarak tanımlanan:
`last_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Phpmyadmin ile baktığımızda, yerel saatte gibi görünüyor, dahili olarak UTC
SET time_zone = '+04:00'; // or '+00:00' to display dates in UTC or 'UTC' if time zones are installed.
SELECT last_modified, UNIX_TIMESTAMP(last_modified), from_unixtime(UNIX_TIMESTAMP(last_modified), '%Y-%c-%d %H:%i:%s'), CONVERT_TZ(last_modified,@@session.time_zone,'+00:00') as UTC FROM `table_name`
Herhangi bir takımyıldızda, UNIX_TIMESTAMP ve 'UTC olarak' her zaman UTC saatinde görüntülenir.
Bunu, önce time_zone ayarını yapmadan iki kez çalıştırın.