js中将数字格式的日期化为yyyy-MM-dd样式

本文介绍了一种将时间戳转换为日期格式的简单方法,并提供了JavaScript代码实现。

今天写了一个ajax请求,当获取对象中的某个日期属性时,发现打印出来是一串数字,例如:1394786876000。可能有人会有疑问了,明明是日期格式,为什么不返回日期,而返回一串数字呢?其实这串数字是个时间戳,也就是从格林威治时间1970年01月01日00时00分00秒起至返回的那个日期的总秒数。如何将时间戳转化为我们需要的格式呢。

在此只介绍一种简单的方法,也是我从网上找来的:

1、在js中先加载一下代码,不需要做任何修改

Date.prototype.format =function(format)
  {
  var o = {
  "M+" : this.getMonth()+1, //month
  "d+" : this.getDate(), //day
  "h+" : this.getHours(), //hour
  "m+" : this.getMinutes(), //minute
  "s+" : this.getSeconds(), //second
  "q+" : Math.floor((this.getMonth()+3)/3), //quarter
  "S" : this.getMilliseconds() //millisecond
  }
  if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
  (this.getFullYear()+"").substr(4- RegExp.$1.length));
  for(var k in o)if(new RegExp("("+ k +")").test(format))
  format = format.replace(RegExp.$1,
  RegExp.$1.length==1? o[k] :
  ("00"+ o[k]).substr((""+ o[k]).length));
  return format;
  }

2、使用new Date(时间戳).format('yyyy-MM-dd')方法进行转化即可,返回的就是yyyy-MM-dd格式的值。

在 SQL 查询中,将日期格式化为 `yyyy-MM-dd` 的方式因数据库系统的不同而有所差异。以下是主流数据库系统中实现该格式化的方法: ### MySQL MySQL 使用 `DATE_FORMAT()` 函数来格式化日期字段。将 `trans_date` 字段格式化为 `yyyy-MM-dd` 的形式如下: ```sql SELECT DATE_FORMAT(trans_date, '%Y-%m-%d') AS formatted_date FROM your_table; ``` 此外,若数据以 Unix 时间戳存储,可以通过 `FROM_UNIXTIME()` 函数结合 `DATE_FORMAT()` 来完成格式化: ```sql SELECT DATE_FORMAT(FROM_UNIXTIME(unix_timestamp), '%Y-%m-%d') AS formatted_date FROM your_table; ``` ### Oracle Oracle 提供了 `TO_CHAR()` 函数用于将日期转换为字符串,并支持指定格式。将 `add_time` 字段格式化为 `yyyy-MM-dd` 的示例如下: ```sql SELECT TO_CHAR(add_time, 'YYYY-MM-DD') AS formatted_date FROM sys_user; ``` ### SQL Server SQL Server 中可以使用 `CONVERT()` 函数将日期字段格式化为 `yyyy-MM-dd`。具体语法如下: ```sql SELECT CONVERT(VARCHAR(10), add_time, 23) AS formatted_date FROM sys_user; ``` 其中,`23` 是预定义的样式代码,表示输出格式为 `yyyy-MM-dd`。 ### PostgreSQL PostgreSQL 同样使用 `TO_CHAR()` 函数进行日期格式化。将 `add_time` 字段格式化为 `yyyy-MM-dd` 的语句如下: ```sql SELECT TO_CHAR(add_time, 'YYYY-MM-DD') AS formatted_date FROM sys_user; ``` ### Hive 在 Hive 中,若日期字段为字符串类型(如 `yyyyMMdd` 格式),可以使用 `from_unixtime()` 和 `unix_timestamp()` 组合实现格式化: ```sql SELECT from_unixtime(unix_timestamp('20231106', 'yyyyMMdd'), 'yyyy-MM-dd') AS formatted_date; ``` ### 注意事项 在使用格式化函数时,需要注意性能问题,因为格式化操作可能导致索引失效,从而影响查询效率,尤其在处理大规模数据集时应谨慎使用[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值