from_unixtime函数类型_localtime_r函数

from_unixtime函数类型_localtime_r函数Unix时间戳(Unixtimestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。在MySQL中如何格式化时间戳?在mysql中因为

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Unix时间戳(Unix timestamp),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

在MySQL中如何格式化时间戳?
在mysql中因为timestamp无法支持到毫秒,所以很多时候采用毫秒进行存储。那么如何将存储在数据库中Int类型的时间,如: 1344954515 ,转换成我们正常可以肉眼能看懂的时间格式呢?

我们一般都使用FROM_UNIXTIME函数。
FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp为需要处理的时间戳(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串。
format为需要转换的格式
mysql官方手册的解释为:返回’YYYY-MM- DD HH:MM:SS’或YYYYMMDDHHMMSS 格式值的unix_timestamp参数表示,具体格式取决于该函数是否用在字符串中或是数字语境中。若format 已经给出,则结果的格式是根据format 字符串而定。
format的格式和日常的编程语言的时间格式是保持一致的。
例如:

?
1
2
3
4
5
6
7
mysql>
select
FROM_UNIXTIME(1344954515,
'%Y-%m-%d %H:%i:%S'
);
+
-----------------------------------------------+
| FROM_UNIXTIME(1344954515,
'%Y-%m-%d %H:%i:%S'
) |
+
-----------------------------------------------+
| 2012-08-14 22:28:35                           |
+
-----------------------------------------------+
1 row
in
set
(0.00 sec)


UNIX_TIMESTAMP()是与之相对的时间函数
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(date)
官方手册解释为:若无参数调用,则返回一个 Unix timestamp (‘1970-01-01 00:00:00′ GMT 之后的秒数) 作为无符号整数。若用date 来调用 UNIX_TIMESTAMP(),它会将参数值以’1970-01-01 00:00:00’ GMT后的秒数的形式返回。
date 可以是一个 DATE 字符串、一个 DATETIME字符串、一个 TIMESTAMP或一个当地时间的YYMMDD 或YYYMMDD格式的数字。

例如:

?
1
2
3
4
5
6
7
mysql>
select
UNIX_TIMESTAMP(
'2012-09-04 18:17:23'
);
+
---------------------------------------+
| UNIX_TIMESTAMP(
'2012-09-04 18:17:23'
) |
+
---------------------------------------+
|                            1346753843 |
+
---------------------------------------+
1 row
in
set
(0.00 sec)


实际应用中,我们可以将格式转换为毫秒的与数据库中进行比较,也可以将数据库的Int格式转换为普通格式进行比较。
例如:查询所有创建日期大于2012-09-03 18:00:00之后的博客数据
方法一:将日期转换为int比较

?
1
select
*
from
blog
where
createdTime > UNIX_TIMESTAMP(
'2012-09-03 18:00:00'
);


方法二:将int转换为时间格式比较

?
1
select
*
from
blog
where
FROM_UNIXTIME(createdTime,
'%Y-%m-%d %H:%i:%S'
) >
'2012-09-03 18:00:00'
;


下列修饰符可以被用在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)
%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), 这里星期一是星期的第一天

%% 一个文字“%”。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167573.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java中的输入操作

    java中的输入操作Java中输入一般是通过Scanner类来实现的:具体步骤如下:(1)创建Scanner对象,接受从控制台输入Scannerinput=newScanner(System.in);(2)接受String类型Stringstr=newinput.next();(3)接受int类型intn=input.nextInt();(4)输出结果System.out.println(str);Sys…

    2022年5月25日
    35
  • 正则表达式 查找_正则表达式不能输入0

    正则表达式 查找_正则表达式不能输入0根据指定条件查找字符串。

    2022年9月19日
    2
  • queryinterface的用法[通俗易懂]

    queryinterface的用法[通俗易懂]客户可以根据QueryInterface函数来查询某个组件是否支持某个特定的接口,若支持,则QueryInterface则返回一个指向特定接口的指针,若不支持,则返回一个错误代码,它的函数形是这样的:     HRESULT__stdcallQueryInterface(constIID&iid,void**ppv);昨天已经设计了一个极其简单的QueryInte

    2022年6月26日
    46
  • Drupal8 入门教程(一)安装部署

    Drupal8 入门教程(一)安装部署
 一、Drupal简介  Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。截止2011年底,共有13,802位WEB专家参加了Drupal的开发工作;228个国家使用181种语言的729,791位网站设计…

    2022年6月10日
    38
  • select top 1 * from tablename[通俗易懂]

    select top 1 * from tablename[通俗易懂]今天在网上查找selecttop1*fromDepartMent的信息时,找到的信息答案不是很准确所以现在把自己的答案张贴出来。希望对大家有所帮助。selecttop1*fromtablename这段SQL语句的意思是:读取一个表中的第一条记录。如果是selecttop 5*fromtablename这样的话呢就是读取表中记录的前5条记录。  

    2022年7月15日
    16
  • 从头开始学MySQL——-存储过程与存储函数(1)

    从头开始学MySQL——-存储过程与存储函数(1)10.1.1创建存储过程存储过程就是一条或者多条SQL语句的集合,可以视为批文件。它可以定义批量插入的语句,也可以定义一个接收不同条件的SQL。创建存储过程的语句为CREATEPROCEDURE,创建存储函数的语句为CREATEFUNCTION。调用存储过程的语句为CALL。调用存储函数的形式就像调用MyS……

    2022年8月22日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号