MySQL毫秒值和日期的指定格式的相互轉換

2021-09-02 13:27:24 字數 2879 閱讀 4168

一、毫秒值轉換為指定的日期格式

使用mysql自帶的函式from_unixtime(unix_timestamp,format)。

舉例:select from_unixtime(1364176514656/1000,'%y-%m-%d %h:%i:%s')as date ;

結果為:

2013-03-25 09:55:15

其中unix_timestamp為字段值/1000.

format可以使用的值為:

%m 月名字(january……december)

%w 星期名字(sunday……saturday) 

%d 有英語字首的月份的日期(1st, 2nd, 3rd, 等等。) 

%y 年, 數字, 4 位

%y 年, 數字, 2 位 

%a 縮寫的星期名字(sun……sat) 

%d 月份中的天數, 數字(00……31) 

%e 月份中的天數, 數字(0……31) 

%m 月, 數字(01……12) 

%c 月, 數字(1……12) 

%b 縮寫的月份名字(jan……dec) 

%j 一年中的天數(001……366) 

%h 小時(00……23) 

%k 小時(0……23) 

%h 小時(01……12) 

%i 小時(01……12) 

%l 小時(1……12) 

%i 分鐘, 數字(00……59) 

%r 時間,12 小時(hh:mm:ss [ap]m) 

%t 時間,24 小時(hh:mm:ss) 

%s 秒(00……59) %s 秒(00……59) 

%p am或pm 

%w 乙個星期中的天數(0=sunday ……6=saturday ) 

%u 星期(0……52), 這裡星期天是星期的第一天 

%u 星期(0……52), 這裡星期一是星期的第一天 

%% 乙個文字「%」。

二、日期格式轉換為毫秒值

同理,有時我們也想把datetime型別的資料轉換為int型別儲存到資料庫。那麼這時候就需要用到函式

select unix_timestamp('2011-05-31 23:59:59');    //這個只是秒值,若需要毫秒值則再乘以1000

結果注意 unix_timestamp該函式只返回1970。。。。到現在的秒數。如果算上乙個函式一樣是毫秒數,則還需要乘以1000

三、根據日期格式轉換為指定的日期格式

date_format(date, format)函式可根據format字串格式化日期或日期和時間值date,返回結果串。也可用date_format( ) 來格式化date 或datetime 值,以便得到所希望的格式。根據format字串格式化date值:

下面是函式的引數說明: %s, %s 兩位數字形式的秒( 00,01, . . ., 59) %i 兩位數字形式的分( 00,01, . . ., 59) %h 兩位數字形式的小時,24 小時(00,01, . . ., 23) %h, %i 兩位數字形式的小時,12 小時(01,02, . . ., 12) %k 數字形式的小時,24 小時(0,1, . . ., 23) %l 數字形式的小時,12 小時(1, 2, . . ., 12) %t 24 小時的時間形式(hh : mm : s s) %r 12 小時的時間形式(hh:mm:ss am 或hh:mm:ss pm) %p am 或p m %w 一周中每一天的名稱( sunday, monday, . . ., saturday) %a 一周中每一天名稱的縮寫( sun, mon, . . ., sat) %d 兩位數字表示月中的天數( 00, 01, . . ., 31) %e 數字形式表示月中的天數( 1, 2, . . ., 31) %d 英文本尾表示月中的天數( 1st, 2nd, 3rd, . . .) %w 以數字形式表示週中的天數( 0 = sunday, 1=monday, . . ., 6=saturday) %j 以三位數字表示年中的天數( 001, 002, . . ., 366) % u 周(0, 1, 52),其中sunday 為週中的第一天 %u 周(0, 1, 52),其中monday 為週中的第一天 %m 月名(january, february, . . ., december) %b 縮寫的月名( january, february, . . ., december) %m 兩位數字表示的月份( 01, 02, . . ., 12) %c 數字表示的月份( 1, 2, . . ., 12) %y 四位數字表示的年份 %y 兩位數字表示的年份 %% 直接值「%」

示例: select date_format(日期字段,』%y-%m-%d』) as 『日期』 from test mysql> select date_format('1997-10-04 22:23:00', '%w %m %y'); -> 'saturday october 1997' mysql> select date_format('1997-10-04 22:23:00', '%h:%i:%s'); -> '22:23:00' mysql> select date_format('1997-10-04 22:23:00', '%d %y %a %d %m %b %j'); -> '4th 97 sat 04 10 oct 277' mysql> select date_format('1997-10-04 22:23:00', '%h %k %i %r %t %s %w'); -> '22 22 10 10:23:00 pm 22:23:00 00 6' mysql> select date_format('1999-01-01', '%x %v'); -> '1998 52' 在 mysql 3.23 中,在格式修飾符前需要字元 `%`。在更早的 mysql 版本中,`%` 是可選的。 月份與天修飾符的範圍從零開始的原因是,在 mysql 3.23 中,它允許儲存不完善的日期值(例如 '2009-00-00')。

四、其他時間函式

輸出指定格式的日期。

程式分析 使用 datetime 模組。if name main pass code codec n input input the number n code.scoreofstudent n 輸出今日日期,格式為 dd mm yyyy。更多選項可以檢視 strftime 方法 print dat...

iPhone 獲取指定格式的時間和日期

1.顯示當前的年月日 時間 nsdate date nsdate date nsdateformatter formatter nsdateformatter alloc init autorelease formatter setdateformat yyyy mm dd hh mm ss.sss...

python輸出指定格式的日期

import time print 當前時間戳 time.time 當前時間戳 1529908783.3990765 print 格式化可讀時間模式 time.asctime 格式化可讀時間模式 mon jun 25 14 39 43 2018 print 格式化日期 time.strftime y...