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


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

获取当前时间
<input name="timesj" value="" type="text" id="timesj" class="intxt">
<script type="text/javascript">                    
     var nowDate = new Date().getTime();
     document.getElementById("timesj").value = new Date().getTime();     
</script>
时间与时间戳之间的转换
<script type="text/javascript">
// 获取当前时间戳(以s为单位)
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
//当前时间戳为:1403149534
console.log("当前时间戳为:" + timestamp);
 
// 获取某个时间格式的时间戳
var stringTime = "2014-07-10 10:21:12";
var timestamp2 = Date.parse(new Date(stringTime));
timestamp2 = timestamp2 / 1000;
//2014-07-10 10:21:12的时间戳为:1404958872 
console.log(stringTime + "的时间戳为:" + timestamp2);
 
// 将当前时间换成时间格式字符串
var timestamp3 = 1403058804;
var newDate = new Date();
newDate.setTime(timestamp3 * 1000);
// Wed Jun 18 2014 
console.log(newDate.toDateString());
// Wed, 18 Jun 2014 02:33:24 GMT 
console.log(newDate.toGMTString());
// 2014-06-18T02:33:24.000Z
console.log(newDate.toISOString());
// 2014-06-18T02:33:24.000Z 
console.log(newDate.toJSON());
// 2014年6月18日 
console.log(newDate.toLocaleDateString());
// 2014年6月18日 上午10:33:24 
console.log(newDate.toLocaleString());
// 上午10:33:24 
console.log(newDate.toLocaleTimeString());
// Wed Jun 18 2014 10:33:24 GMT+0800 (中国标准时间)
console.log(newDate.toString());
// 10:33:24 GMT+0800 (中国标准时间) 
console.log(newDate.toTimeString());
// Wed, 18 Jun 2014 02:33:24 GMT
console.log(newDate.toUTCString());
 
Date.prototype.format = function(format) {
       var date = {
              "M+": this.getMonth() + 1,
              "d+": this.getDate(),
              "h+": this.getHours(),
              "m+": this.getMinutes(),
              "s+": this.getSeconds(),
              "q+": Math.floor((this.getMonth() + 3) / 3),
              "S+": this.getMilliseconds()
       };
       if (/(y+)/i.test(format)) {
              format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
       }
       for (var k in date) {
              if (new RegExp("(" + k + ")").test(format)) {
                     format = format.replace(RegExp.$1, RegExp.$1.length == 1
                            ? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
              }
       }
       return format;
}
console.log(newDate.format('yyyy-MM-dd h:m:s'));
 
</script>
将时间戳转换成日期格式
// 简单的一句代码
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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。