获取时间,时间与时间戳之间的转换


一、JS获取当前时间,时间与时间戳之间的转换

获取当前时间


时间与时间戳之间的转换

将时间戳转换成日期格式
// 简单的一句代码
var date = new Date(时间戳); //获取一个时间对象
 
/**
 1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了
 2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp
 */
date.getFullYear();  // 获取完整的年份(4位,1970)
date.getMonth();  // 获取月份(0-11,0代表1月,用的时候记得加上1)
date.getDate();  // 获取日(1-31)
date.getTime();  // 获取时间(从1970.1.1开始的毫秒数)
date.getHours();  // 获取小时数(0-23)
date.getMinutes();  // 获取分钟数(0-59)
date.getSeconds();  // 获取秒数(0-59)
// 比如需要这样的格式 yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds(); 
console.log(Y+M+D+h+m+s);
// 输出结果:2014-04-23 18:55:49
将日期格式转换成时间戳
// 也很简单
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做
var date = new Date(strtime.replace(/-/g, '/'));
 
// 有三种方式获取,在后面会讲到三种方式的区别
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);
 
/* 
三种获取的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
比如上面代码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000 
*/

转自https://blog.csdn.net/wzl505/article/details/52981219


二、React Native时间戳转换为YYYY-MM-DD格式

//导入 moment
import moment from 'moment';

  todayDate(){
    var today = new Date();
    return this.date(today,'YY,MM,DD')
  }

  date (date,fomatter){
    if (!date)return '';
    var fmt = fomatter || 'YYYY年MM月DD';
    return moment(date).format(fmt);
  }

三、JS获取系统当前时间,本周时间,本月时间,前几天的时间(如系统前三天的时间)

获取系统当前日期
function getSystemDate(){
 
    var systemDate = new Date();
 
    // 获取当年
    var year = systemDate.getFullYear();
 
    // 获取当月 (月+1是因为js中月份是按0开始的)
    var month = systemDate.getMonth() + 1;
 
    // 获取当日
    var day =  systemDate.getDate();
 
    if (day < 10) { // 如果日小于10,前面拼接0
 
        day = '0' + day;
    }
 
    if (month < 10) { // 如果月小于10,前面拼接0
 
        month = '0' + month;
    }
 
    return [year, month, day].join('');
 
}
获取当前系统前三天日期
function getThreeDaysBeforeDate(){
 
    var date =  new Date(), timestamp, newDate;
 
    timestamp = date.getTime();
 
    // 获取三天前的日期
    newDate = new Date(timestamp - 3 * 24 * 3600 * 1000);
 
    var year = newDate.getFullYear();
 
    // 月+1是因为js中月份是按0开始的
    var month = newDate.getMonth() + 1;
 
    var day = newDate.getDate();
 
    if (day < 10) { // 如果日小于10,前面拼接0
 
        day = '0' + day;
    }
 
    if (month < 10) { // 如果月小于10,前面拼接0
 
        month = '0' + month;
    }
 
    return [year, month, day].join('');
 
}
获取本周日期
function getWeek(Fn) {
 
    //按周日为一周的最后一天计算
    var date = new Date();
 
    //今天是这周的第几天
    var today = date.getDay();
 
    //上周日距离今天的天数(负数表示)
    var stepSunDay = -today + 1;
 
    // 如果今天是周日
    if (today == 0) {
 
        stepSunDay = -7;
    }
 
    // 周一距离今天的天数(负数表示)
    var stepMonday = 7 - today;
 
    var time = date.getTime();
 
    var monday = new Date(time + stepSunDay * 24 * 3600 * 1000);
    var sunday = new Date(time + stepMonday * 24 * 3600 * 1000);
 
    //本周一的日期 (起始日期)
    var startDate = transferDate(monday); // 日期变换
    //本周日的日期 (结束日期)
    var endDate = transferDate(sunday); // 日期变换
 
 
    return startDate + ' - ' + endDate;
}
获取本月日期
function getMonth(Fn) {
 
    // 获取当前月的第一天
    var start = new Date();
    start.setDate(1);
 
    // 获取当前月的最后一天
    var date = new Date();
    var currentMonth = date.getMonth();
    var nextMonth = ++currentMonth;
    var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1);
    var oneDay = 1000 * 60 * 60 * 24;
    var end = new Date(nextMonthFirstDay - oneDay);
 
    var startDate = transferDate(start); // 日期变换
    var endDate = transferDate(end); // 日期变换
 
    return startDate + ' - ' + endDate;
}
日期变换的方法
function transferDate(date) {
 
    // 年
    var year = date.getFullYear();
    // 月
    var month = date.getMonth() + 1;
    // 日
    var day = date.getDate();
 
    if (month >= 1 && month <= 9) {
 
        month = "0" + month;
    }
    if (day >= 0 && day <= 9) {
 
        day = "0" + day;
    }
 
    var dateString = year + '/' + month + '/' + day;
 
    return dateString;
}

转自https://blog.csdn.net/gaomingyangc/article/details/53927749

你可能感兴趣的:(获取时间,时间与时间戳之间的转换)