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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,273评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,349评论 3 398
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,709评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,520评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,515评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,158评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,755评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,660评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,203评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,287评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,427评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,122评论 5 349
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,801评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,272评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,393评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,808评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,440评论 2 359