JavaScript

JavaScript 时间/日期操作(二)--Js时间/日期的格式化与字符串的互转

时间/日期 小海豚博客管理员 2020-06-26 13:58:59.0 108 0条

本节我们将会学到js把时间/日期的格式化与字符串的互转

将日期时间转换为字符串指定格式

  1. Date.prototype.format = function(fmt) {
  2. var o = {
  3. "M+" : this.getMonth()+1, //月份
  4. "d+" : this.getDate(), //日
  5. "h+" : this.getHours(), //小时
  6. "m+" : this.getMinutes(), //分
  7. "s+" : this.getSeconds(), //秒
  8. "q+" : Math.floor((this.getMonth()+3)/3), //季度
  9. "S" : this.getMilliseconds() //毫秒
  10. };
  11. if(/(y+)/.test(fmt)) {
  12. fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  13. }
  14. for(var k in o) {
  15. if(new RegExp("("+ k +")").test(fmt)){
  16. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
  17. }
  18. }
  19. return fmt;

}
为Date原型添加了上面的方法,我们就可以这样用date 类型去调用了
用法:

  1. var time1 = new Date().format("yyyy-MM-dd hh:mm:ss");
  2. >>> 2019-06-06 19:45:23`

这里用到了Js获取日期时间:

如:

  1. var myDate = new Date();
  2. myDate.getYear(); //获取当前年份(2位)
  3. myDate.getFullYear(); //获取完整的年份(4位,1970-????)
  4. myDate.getMonth(); //获取当前月份(0-11,0代表1月)
  5. myDate.getDate(); //获取当前日(1-31)
  6. myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
  7. myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
  8. myDate.getHours(); //获取当前小时数(0-23)
  9. myDate.getMinutes(); //获取当前分钟数(0-59)
  10. myDate.getSeconds(); //获取当前秒数(0-59)
  11. myDate.getMilliseconds(); //获取当前毫秒数(0-999)
  12. myDate.toLocaleDateString(); //获取当前日期
  13. var mytime=myDate.toLocaleTimeString(); //获取当前时间
  14. myDate.toLocaleString( ); //获取日期与时间

对于时间戳,指定的日期我们可以先转成Date对象在进行格式化

  1. var da = 1402233166999;
  2. da = new Date(da);

将字符串转换为日期时间格式

1.格式为yyyy-MM-dd

  1. function convertDateFromString(dateString) {
  2. if (dateString) {
  3. var date = new Date(dateString.replace(/-/,"/"))
  4. return date;
  5. }
  6. }

2.格式为yyyy-MM-dd hh:mm:ss

  1. function convertDateFromString(dateString) {
  2. if (dateString) {
  3. var arr1 = dateString.split(" ");
  4. var sdate = arr1[0].split('-');
  5. var date = new Date(sdate[0], sdate[1]-1, sdate[2]);
  6. return date;
  7. }
  8. }

3.将指定的日期转换为”年月日”的格式

  1. var oldTime = (new Date("2012/12/25 20:11:11")).getTime();
  2. var curTime = new Date(oldTime).format("yyyy-MM-dd");
  3. console.log(curTime);

4.将 “时间戳” 转换为 “年月日” 的格式

比如如下代码:

  1. var da = 1402233166999;
  2. da = new Date(da);
  3. var year = da.getFullYear()+'年';
  4. var month = da.getMonth()+1+'月';
  5. var date = da.getDate()+'日';
  6. console.log([year,month,date].join('-'));
暗锚,解决锚点偏移

文章评论

嘿,来试试登录吧!