怎样在js里面格式化日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样在js里面格式化日期相关的知识,希望对你有一定的参考价值。

把这个时间Tue Jul 16 01:07:00 CST 2013转换为:2013-7-16 急急急,在线等,等各位大神的帮助

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

<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>

参考技术A <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 是不是你想要的东西。

参考技术B 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");

参考技术C 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中这种做法最简单有效。

参考技术D 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.如果实在麻烦,那么就是分别取出年月日,,然后自己拼装。

本回答被提问者采纳

电子表格里面日期怎么批量修改

我现在的日期是2013.11.28,但我要把它修改成2013.11.29,也就是批量修改日期,使原来的日期自动加一天,求大虾指教

可以按照以下步骤在excel中批量修改日期年月的方法:

1、打开所需要修改的Excel表格;

2、通过快捷键按Ctrl+F,调出替换菜单。

3、或者通过菜单栏,找出“查制找、替换”。

4、输入要修改的年月。

5、替换成要的年月,按下“全部替换”。

6、即可批量进行操作修改的。

扩展资料:

Excel 的一般用途包括:会计专用、预算、帐单和销售、报表、计划跟踪 、使用日历等。

Excel中大量的公式函数可以应用选择,使用Microsoft Excel可以执行计算,分析信息并管理电子表格或网页中的数据信息列表与数据资料图表制作,可以实现许多方便的功能,带给使用者方便。

与其配套组合的有:Word、PowerPoint、Access、InfoPath及Outlook,Publisher

Excel2013、2010、2007和老一点的Excel2003较为多见,Excel2002版本用的不是很多。比Excel2000老的版本很少见了。最新的版本增添了许多功能。使Excel功能更为强大。

Excel2003支持VBA编程,VBA是Visual Basic For Application的简写形式。VBA的使用可以达成执行特定功能或是重复性高的操作。

参考技术A

首先2013.11.28这样的写法EXCEL不认可是日期

应改为2013-11-28或2013/11/28等EXCEL认可的日期格式

 

所以先操作

按下CTRL+H

查找中写入  .

替换中写入  -

 

这样就转成了日期

 

再在一个空单元中写入1----右键---复制----再选中日期所在单元格区域(只能是在同一列中的连续单元格)----右键----选择性粘贴----加-----确定------再右键---设置单元格格式----日期---选择你要显示的格式-----------删去前面写的1

 

 

 

 

 

 

 

再右键---设置单元格格式----日期---选择你要显示的格式

 

 

追问

那最后能不能将2013-11-20变为2013.11.20呢

追答

可以,选中日期单元格区域----右键----设置单元格格式----自定义----类型中写入   e.m.d  或 e.mm.dd  ----确定

 

本回答被提问者采纳
参考技术B 手工操作的方法是:
先将8位数的日期单元格全部选定,在右键菜单中点击“设置单元格格式——数字——自定义”,在“类型”下输入
0000!.00!.00
“确定”。
再将6位数的日期单元格全部选定进行设置。
若要将所有日期单元格格式一次性自动设置,建议用VBA代码。

要VBA代码,就需要你给出完整的表格,看样子这是你所不愿意的——从你的截图中可以看出,你连“出生年月”与“入党时间”都不敢截下,就是怕暴露隐私吧!
不过,从你已经截下的图中仍可发现,表中填写“出生年月”与“入党时间”所用单元格的格式为文本格式,这就是造成你【手工方法不行】的原因。
参考技术C 可以按照以下步骤在excel中批量修改日期年月的方法: 1、打开你所需要修改的Excel表格; 2、通过快捷键按Ctrl+F,调出替换菜单。 3、或者通过菜单栏,找出“查找、替换”; 4、输入你要修改的年月; 5、替换成你要的年月,按下“全部替换”。 6、即可批量进行操作修改的。 以上,可以进行批量操作修改的。 参考技术D ctrl+H,替换方法。
查找2013.11.28,替换成2013.11.29追问

无语

以上是关于怎样在js里面格式化日期的主要内容,如果未能解决你的问题,请参考以下文章

vue.js怎样将时间戳转化为日期格式

vue.js怎样将时间戳转化为日期格式

vue.js怎样将时间戳转化为日期格式

jsp 中怎样把日期dd/mm/yyyy 转换成 yyyy-mm-dd 格式

mongoose中获取的日期怎样格式化好

小程序时间戳转换日期问题