`
ppxieppp
  • 浏览: 51003 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

MySQL和Java时间毫秒之间的转换问题的总结

阅读更多
最近几天在做关于依时间查询用户认证的业务,因为在MySQL中,time字段使用的是bigint类型,所以存在其中都是毫秒数。当需要从数据库中取出毫秒数转换成日期格式时,需要用到MySQL数据库自己的函数,只需要在SQL语句中调用即可,但是我的业务也就是这个地方出了问题。
    一般在MySQL中,我们常常使用FROM_UNIXTIME(unix_timestamp,format)函数来转换成日期格式。具体使用方法如下:
---------------------------------以下为摘录网页内容-----------------------------------------------
返回表示时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。

当前毫秒值为:UNIX_TIMESTAMP();

根据format字符串格式化date值。
下列修饰符可以被用在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), 这里星期一是星期的第一天
%% 一个文字“%”。

使用MYSQL语句解释时间戳语法举例:

SELECT FROM_UNIXTIME(1234567890, '%Y-%m-%d %H:%i:%S')
-------------------------------------转录结束-----------------------------------------------------
既然可以把MySQL中的毫秒转换成日期格式,我们也需要把业务逻辑中的日期格式转换成毫秒数
这是我学长写的一个函数
-------------------------------------代码如下-----------------------------------------------------
public static Long timeStrTran1970Seconds(String timeStr) throws java.text.ParseException {
      Date stat = null;
      stat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(timeStr);
      if (stat != null)
         return stat.getTime() / 1000;
      else
         return 0l;
}
------------------------------------代码结束------------------------------------------------------
需要注意的是,这两种转换时间的方法都是基于1970:01:01的,这一点要特别注意。
分享到:
评论

相关推荐

    java的Date类型转换成MySQL的DateTime类型.docx

    两者之间的不兼容性意味着在向MySQL数据库插入包含日期时间的数据时,必须先将Java的`Date`对象转换为符合MySQL格式的字符串。 #### 转换方法 为了实现从Java的`Date`类型到MySQL的`DateTime`格式的转换,可以编写...

    java代码将mysql表数据导入HBase表

    在IT行业中,数据库之间的数据迁移是一项常见的任务,特别是在大数据领域,如从传统的SQL数据库(如MySQL)迁移到分布式NoSQL数据库(如HBase)。本文将详细介绍如何使用Java代码实现这一过程,包括样例MySQL表和...

    pgsql数据库转mysql数据库步骤及注意.docx

    PgSQL 到 MySQL 数据库迁移步骤和注意事项 数据库迁移是数据库管理中最重要的一步骤,PgSQL 到 MySQL 数据库迁移是一种常见的迁移方式。本文档将详细介绍PgSQL 到 MySQL 数据库迁移的步骤和注意事项。 Step 1: ...

    安卓连接MySql数据库

    // 设置时区,避免日期时间问题 Connection conn = DriverManager.getConnection(url, user, password, props); ``` 在完成数据库操作后,别忘了关闭连接以释放资源: ```java if (conn != null && !conn.is...

    获得指定月的和第一秒和最后一秒

    总结来说,要获取指定月份的第一秒和最后一秒,我们可以使用Java提供的日期时间API,如`java.time`或`java.util.Calendar`,通过设置日期、时间并转换为时间戳来实现。这些方法在各种场景中都很有用,例如数据统计、...

    Flume采集MySQL数据所需jar包.zip

    "Flume 采集 MySQL 数据所需 jar 包.zip" 文件提供了实现这一目标所需的两个关键组件:flume-ng-sql-source-1.5.2.jar 和 mysql-connector-java.jar。 首先,`flume-ng-sql-source-1.5.2.jar` 是 Flume 的 SQL 源...

    关于MySQL 时间类型 datetime、bigint、timestamp,你用哪个?

    在MySQL中,根据不同的应用场景和需求,可以选择多种方式来存储日期和时间信息。本篇文章将详细介绍三种常用的时间类型:`datetime`、`bigint` 和 `timestamp`,并通过一个实际的例子来探讨它们在不同场景下的表现。...

    不同编程语言中对时间类型的获取和转换.docx

    了解并掌握这些时间处理技巧对于编写跨平台的代码至关重要,因为它们可以帮助我们确保时间数据在不同系统间的兼容性和一致性。在实际开发中,根据具体需求选择合适的时间处理函数,能够有效提高代码的可读性和可维护...

    时间戳转换器

    时间戳转换器是一种实用工具,它能够帮助用户在时间戳和本地时间之间进行方便快捷的转换。在IT领域,时间戳扮演着至关重要的角色,尤其是在数据记录、日志分析、网络通信以及各种系统和应用程序中。理解时间戳及其...

    mysql取得datetime类型的数据,后面会跟个.0的实现方法

    然而,在某些情况下,当datetime值从MySQL传递到Java应用程序时,可能会出现尾随的".0",这通常是由于日期时间转换过程中的格式化问题导致的。下面我们将详细介绍三种解决这个问题的方法。 1. 使用JSTL(JavaServer...

    PHP获取MySQL执行sql语句的查询时间方法

    5. 将得到的秒数转换成毫秒进行展示。 在实际的应用中,可以将这种方法用于对SQL语句执行效率的初步评估。通过记录查询时间,开发者可以区分出那些执行缓慢的SQL语句,并针对它们进行优化。 除了使用`microtime()`...

    日期,日期时间类型数据格式校验

    了解如何在代码中创建、比较和操作日期时间对象,以及如何处理时区问题,都是程序员必备的技能。例如,使用UTC(协调世界时)作为标准,避免因本地时区带来的困扰。 此外,工具在日期时间数据处理中也发挥着重要...

    JDBC:数据库操作中的日期精度丢失解决办法

    在进行数据库操作时,我们有时会遇到日期精度丢失的问题,这通常发生在将Java的`java.sql.Timestamp`对象转换为数据库存储的日期时间类型时。本文将深入探讨这个问题,并提供解决方案。 首先,理解问题的根本原因至...

    MySql规范(系列一)

    6. **数据库类型和JAVA类型保持一致**:确保数据类型的一致性,减少类型转换带来的问题。 7. **SQL语句尽可能简单**:避免复杂的SQL语句,可以将其拆分为多个简单的语句执行。 8. **简单的事务**:例如上传图片等...

    java技术分享

    OpenHFT是一个专注于高性能Java框架的开源项目,提供了一系列工具和技术,以支持低延迟和高吞吐量的应用场景,尤其适用于金融领域的高频交易。 - **HugeCollections**:该项目提供了一组利用非堆内存实现的集合类,...

    Java 小例子:数据持久化(保存数据到文件)

    这里采用了自定义的文件格式,每行包含`name`、`birthday`(以毫秒表示)和`male`(以字符串"true"/"false"表示),属性间用制表符`\t`分隔。 在`readAndShow()`方法中,调用`readPersons()`从文件读取数据,然后通过`...

    PHP获取毫秒级时间戳的方法

    除了上述方法之外,还可以使用一些在线工具来转换Unix时间戳为毫秒级时间戳,例如文中推荐的Unix时间戳转换工具(***,它支持多种编程语言如PHP, Java, Python和MySQL等,可以方便地进行时间戳的转换操作。...

    mysql datetime查询异常问题解决

    总的来说,处理MySQL datetime查询异常问题需要理解数据类型之间的差异,以及数据库和应用程序之间的交互方式。通过调整数据库连接参数或改进数据验证和异常处理,可以有效地解决这个问题,确保你的应用能够稳定运行...

Global site tag (gtag.js) - Google Analytics