如何使用 CURRENT_TIMESTAMP 在 mysql 中将 Gregorian 格式转换为 Solar 格式
how to convert Gregorian format to Solar format in mysql using of CURRENT_TIMESTAMP
这是我的 table 架构:
CREATE TABLE Orders
(
OrderDate TIMESTAMP NOT NULL DEFAULT NOW(),
)
当我插入一行时,我的输出将是这样的:
+---------------------+
| 2015-08-01 16:22:47 | // Gregorian date
+---------------------+
现在我需要将其转换为 Solar 日期,如下所示:
+---------------------+
| 1394-05-10 16:22:47 | // Solar date
+---------------------+
我该怎么做?
我有一个想法,我可以使用 unix_timestamp
将日期(公历)更改为时间戳(像这样: 1438438368
),然后加上 1348-10-11
(1348-10-11 = 1970-01-01
)
事实上,我需要用这样的数字加上日期:
(1438438368) + (1348-10-11) = something that I want
我该怎么做?
使用 JDF .
$now = time();
jdate('Y-m-d h:i:s',$now)
解决方法如下:
<?php
$fmt = new IntlDateFormatter("fa_IR@calendar=persian", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'Asia/Tehran', IntlDateFormatter::TRADITIONAL);
echo $fmt->format(time());
?>
这是我的 table 架构:
CREATE TABLE Orders
(
OrderDate TIMESTAMP NOT NULL DEFAULT NOW(),
)
当我插入一行时,我的输出将是这样的:
+---------------------+
| 2015-08-01 16:22:47 | // Gregorian date
+---------------------+
现在我需要将其转换为 Solar 日期,如下所示:
+---------------------+
| 1394-05-10 16:22:47 | // Solar date
+---------------------+
我该怎么做?
我有一个想法,我可以使用 unix_timestamp
将日期(公历)更改为时间戳(像这样: 1438438368
),然后加上 1348-10-11
(1348-10-11 = 1970-01-01
)
事实上,我需要用这样的数字加上日期:
(1438438368) + (1348-10-11) = something that I want
我该怎么做?
使用 JDF .
$now = time();
jdate('Y-m-d h:i:s',$now)
解决方法如下:
<?php
$fmt = new IntlDateFormatter("fa_IR@calendar=persian", IntlDateFormatter::FULL, IntlDateFormatter::FULL, 'Asia/Tehran', IntlDateFormatter::TRADITIONAL);
echo $fmt->format(time());
?>