当前位置: 首页 > wzjs >正文

按文章标题相关wordpress关键词优化骗局

按文章标题相关wordpress,关键词优化骗局,m99ww094cn 苍井空做的网站,ecshop 网站搬家mysql的timestamp和datetime mysql的TIMESTAMP类型内部存的是unix时间戳,可认为是一个32位的整型,它记录了1970.1.1以来的秒数。因为存储长度4字节的限制,所以有2038年限制。 DATETIME类型内部存的是long型,记录了1000.1.1以来的…

mysql的timestamp和datetime

mysql的TIMESTAMP类型内部存的是unix时间戳,可认为是一个32位的整型,它记录了1970.1.1以来的秒数。因为存储长度4字节的限制,所以有2038年限制。

DATETIME类型内部存的是long型,记录了1000.1.1以来的秒数,因为有8个字节,所以能支持到9999年。

TIMESTAMP是时区相关的,它把客户端输入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,又转化为客户端当前时区返回。

DATETIME则是时区无关的,不做任何改变,原样输入和输出。

因此,mysql里对日期的排序,无论TIMESTAMP还是DATETIME,本质上都是对整型字段的排序,这个排序效率是要高于字符串排序的。在mysql层面用字符串存储日期,不谈准确性,至少效率上都不过关。

ES的日期字段

mysql存储日期的结论也适用于ES。因为,ES里的日期也是按秒存储的:

Internally, dates are converted to UTC (if the time-zone is specified) and stored as a long number representing milliseconds-since-the-epoch.
Queries on dates are internally converted to range queries on this long representation, and the result of aggregations and stored fields is converted back to a string depending on the date format that is associated with the field.

我们可以让ES里的date字段同时接收日期格式和long型数字:

PUT test_index
{"mappings": {"properties": {"TimeData": {"type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"}}}
}

这里,epoch_millis就是epoch以来的毫秒数,是一个long。

java的日期类型

  1. java.util.Date:
    java.util.Date是Java中最早的日期时间类之一,它提供了用于表示和操作日期的方法。这个类通常用于表示特定的瞬间,精确到毫秒。然而,由于其设计上的限制,java.util.Date在很多情况下已经不再被推荐使用。
  2. java.sql.Date:
    java.sql.Date是用于处理SQL日期的类,只包含日期部分,不包含时间部分。它主要用于与数据库中的日期字段进行交互。需要注意的是,java.sql.Date是从java.util.Date派生的,因此可以通过调用getTime()方法获取毫秒值。
  3. java.sql.Time:
    java.sql.Time是用于处理SQL时间的类,只包含时间部分,不包含日期部分。它主要用于与数据库中的时间字段进行交互。同样地,java.sql.Time也是从java.util.Date派生的。
  4. java.sql.Timestamp:
    java.sql.Timestamp是用于处理SQL日期和时间的类,既包含日期部分,也包含时间部分。它主要用于与数据库中的日期时间字段进行交互。java.sql.Timestamp也是从java.util.Date派生的。

本质上,上述4个类都属于java.util.Date体系,下面是一个使用的例子:

@Testpublic void testDate() {// Date构造器接收long型,该数字代表epoch以来的毫秒数。它实际内部存储的也是这个long值。java.util.Date date = new Date(3600 * 1000);// Thu Jan 01 09:00:00 CST 1970System.out.println(date);java.sql.Date sqlDate = new java.sql.Date(3600 * 1000);// 1970-01-01System.out.println(sqlDate);java.sql.Time sqlTime = new java.sql.Time(3600 * 1000);// 09:00:00System.out.println(sqlTime);java.sql.Timestamp timestamp = new java.sql.Timestamp(3600 * 1000);// 1970-01-01 09:00:00.0        System.out.println(timestamp);}

我们注意到,java.util.Date打印时会自动转换到当前时区。

java8还可以用LocalDateTime。下面是一个例子:

@Testpublic void testLocalDateTime() {// 第一个参数是epoch以来的秒数,第二个是纳秒矫正,一般是0,第三个是时区偏移LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(3600L, 0, ZoneOffset.of("+8"));System.out.println(localDateTime);}

Date到LocalDateTime的转换:

LocalDateTime cvtDate2Local(java.util.Date date) {Instant instant = date.toInstant();return instant.atZone(ZoneId.systemDefault()).toLocalDateTime();}
http://www.dtcms.com/wzjs/370637.html

相关文章:

  • 新网站如何做搜索引擎收录网络推广外包费用
  • 亚马逊aws永久在线观看360优化大师下载
  • wordpress thread comment百度优化公司
  • 班级网站建设心得体会范文火星培训机构收费明细
  • 国内python 做的网站昆山优化外包
  • 企业网站模板编辑软件站长之家网站查询
  • 怎么删除wordpress插件百度广告优化师
  • 前端培训机构有用吗沈阳seo排名优化推广
  • 企业自助建站软件软文标题
  • 网站建设方案书阿里云最近新闻报道
  • 专做女鞋的网站网站优化外包费用
  • 网站空间管理地址谷歌广告投放
  • php做网站要多久国内看不到的中文新闻网站
  • 常州网站建设方案策划网站建设总结
  • 国家能源招标网seo网络推广企业
  • 在阿里云做视频网站需要什么国外广告联盟平台
  • 北京壹零零壹网站建设十大经典口碑营销案例
  • 珠宝行网站建设方案长沙百度搜索排名
  • 邢台规划局网站建设推广普通话宣传周活动方案
  • sap和国家网站做接口关键词优化需要从哪些方面开展?
  • 珠海响应式网站建设百度快照入口官网
  • 商城网站设计公司有哪些在线识别图片
  • 网站不接入备案推广软文范例100字
  • 做电影资源网站服务器怎么选站长工具百度百科
  • 镇江企业网站建设南宁百度seo价格
  • 做海报有什么参考的网站百度账号管家
  • 网站的代理页面怎么做的域名注册服务商
  • 做网站需要用c语言吗广告代发平台
  • 金坛市建设局网站百度竞价推广开户费用
  • 网站编辑知识百度搜索风云榜小说总榜