怎样在js里面格式化日期

把这个时间TueJul1601:07:00CST2013转换为:2013-7-16急急急,在线等,等各位大神的帮助... 把这个时间Tue Jul 16 01:07:00 CST 2013转换为:2013-7-16 急急急,在线等,等各位大神的帮助 展开
 我来答
zhfto
推荐于2017-11-17 · TA获得超过563个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:212万
展开全部

最好能在数据库查询的时候就转了,前端处理的话,没有专门的方法,得自己去写:

<html>
  <head>
    <script language="javascript">
      function Window_Load(){
        var str = "Tue Jul 16 01:07:00 CST 2013";
        alert(formatCSTDate(str,"yyyy-M-d hh:mm:ss")); //2013-7-16 16:24:58
        
        alert(formatDate((new Date()),"yyyy-MM-dd")); //2013-07-15 
        alert(formatDate((new Date()),"yyyy/M/d")); //2013/7/15 
      } 
      
      //格式化CST日期的字串
      function formatCSTDate(strDate,format){
        return formatDate(new Date(strDate),format);
      }
      
      //格式化日期,
      function formatDate(date,format){
        var paddNum = function(num){
          num += "";
          return num.replace(/^(\d)$/,"0$1");
        }
        //指定格式字符
        var cfg = {
           yyyy : date.getFullYear() //年 : 4位
          ,yy : date.getFullYear().toString().substring(2)//年 : 2位
          ,M  : date.getMonth() + 1  //月 : 如果1位的时候不补0
          ,MM : paddNum(date.getMonth() + 1) //月 : 如果1位的时候补0
          ,d  : date.getDate()   //日 : 如果1位的时候不补0
          ,dd : paddNum(date.getDate())//日 : 如果1位的时候补0
          ,hh : date.getHours()  //时
          ,mm : date.getMinutes() //分
          ,ss : date.getSeconds() //秒
        }
        format || (format = "yyyy-MM-dd hh:mm:ss");
        return format.replace(/([a-z])(\1)*/ig,function(m){return cfg[m];});
      } 
    </script>
  </head>
  <body onload="Window_Load();">
  
  </body>
</html>
日落的糖Kf
2017-11-12 · TA获得超过4万个赞
知道大有可为答主
回答量:3400
采纳率:0%
帮助的人:536万
展开全部
<html>
<head>
<title>我的第一个 HTML 页面</title>
<script language="javascript" type="text/javascript">
  
var a =new Date("Tue Jul 16 01:07:00 CST 2013");
var t1 =  a.getFullYear();
var t2 =   a.getMonth()+1;
var t3 = a.getDate();
alert(t1 +'-'+t2+'-'+t3);
</script>
</head>
<body> 
</body>
</html>


试试这里面的js 是不是你想要的东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pharaoh_168
推荐于2017-11-13 · 知道合伙人互联网行家
pharaoh_168
知道合伙人互联网行家
采纳数:527 获赞数:1425
1998年武汉大学本科毕业 2003年中科院测量与地球物理研究所硕士毕业

向TA提问 私信TA
展开全部
function FormatDate (strTime) {
    var date = new Date(strTime);
    return date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
}
FormatDate("Tue Jul 16 01:07:00 CST 2013");
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZhangXin777999
推荐于2017-12-05 · TA获得超过3168个赞
知道大有可为答主
回答量:2075
采纳率:84%
帮助的人:218万
展开全部
var date;//Tue Jul 16 01:07:00 CST 2013的时间对象
var year=date.getFullYear();//年
var month=date.getMonth()+1;//月份(月份是从0~11,所以显示时要加1)
var day=date.getDate();//日期
var str=year+'-'+month+'-'+day;

JavaScript中这种做法最简单有效。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱琴海之玲
2013-07-15 · TA获得超过2581个赞
知道小有建树答主
回答量:582
采纳率:75%
帮助的人:334万
展开全部
new Date().Format("yyyy-MM-dd ");

如果的时间是传过来就过来
那么: var str=Tue Jul 16 01:07:00 CST 2013;

var str1=str.fromat("yyyy-MM-dd");
追问
是从数据库里面查出来的时间,我用了format,不行呀,js里面有format这个方法么?
追答
是一定要转成2013-7-16 这个格式的么
如果要转成2013年7月16日的 可以使用toLocaleDateString();

如果要自己定义格式的话
1.不用着急,JsJava中提供了专用的类,专门对日期进行指定格式的字符串输出,你可以下载JsJava-2.0.zip,引入其中的src/jsjava/text/DateFormat.js,或者直接引入jslib/jsjava-2.0.js,样例代码如下:

var df=new SimpleDateFormat();//jsJava1.0需要使用DateFormat对象,不要弄错就是了
df.applyPattern("yyyy-MM-dd HH:mm:ss");
var date=new Date(2007,3,30,10,59,51);
var str=df.format(date);
document.write(str);//显示结果为:2007-04-30 10:59:51

2.如果实在麻烦,那么就是分别取出年月日,,然后自己拼装。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式