js获取年月日及时间戳与日期转换

最近在做一些跟时间相关的内容,现在总结些关于js中年月日的获取,以及时间戳和日期的相互转换方法,总结知识,便于理解和记忆。

1.js中获取当前时间和日期的函数如下:

var now = new Date();//获取当前年月日: Tue Nov 22 2016 17:34:55 GMT+0800 (中国标准时间)
var year_2 = now.getYear();//已过时,介于1900与1999之间年份返回两位数字,其他的返回三位数字
var year_4 = now.getFullYear();//获取完整的年份(4位,1970-????)
var month = now.getMonth();//获取当前月(0-11,0代表1月,老外系统,国内加1)
var date = now.getDate();//获取当前日(1-31)
var day = now.getDay();//获取当前星期X(0-6,0代表星期天)
var day_string = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")[now.getDay()];//星期二
var hours = now.getHours();//获取当前时((0-23)
var minutes = now.getMinutes();//获取当前分钟数(0-59)
var seconds = now.getSeconds();//获取当前秒数(0-59)
var milliSeconds = now.getMilliseconds();//获取当前毫秒数(0-999)
var now_date = now.toLocaleDateString();//获取当前日期: 2016/11/22
var now_time = now.toLocaleTimeString();     //获取当前时间: 下午5:35:55
var date_time = now.toLocaleString( );        //获取日期与时间: 2016/11/22 下午5:35:55
var d = now.toDateString();//Wed Nov 23 2016
var t = now.toTimeString();//15:11:30 GMT+0800 (中国标准时间)
var d_t = now.toString();//Wed Nov 23 2016 15:11:30 GMT+0800 (中国标准时间)

实例运用如下:

//获取当前日期和时间(如:2016/06/12 12:00)
function getCurrentTime(){
	var now = new Date();
	var year = now.getFullYear();
	var month = now.getMonth();
	var date = now.getDate();
	var hours = now.getHours();
	var minutes = now.getMinutes();
	if(month<10){
				month = "0"+month;
			}
			if(date<10){
				date = "0"+date;
			}
			if(hours<10){
				hours = "0"+hours;
			}
			if(minutes<10){
				minutes = "0"+minutes;
			}
			/* 简单写法
			   hours = now.getHours() < 10 ? "0"+now.getHours() : now.getHours();
			   minute = now.getMinutes() < 10 ? "0"+now.getMinutes() : now.getMinutes();
			   second = date.getSeconds() < 10 ? "0"+date.getSeconds() : date.getSeconds();
			*/
			var currentTime = year+"/"+month+"/"+date+" "+hours+":"+minutes;
			return currentTime;
		}
		var current = getCurrentTime();

2.时间戳转为日期格式:

		//当前时间戳为:A=1479881014,北京时间:B=2016/11/23 下午2:03:34,C=Wed Nov 23 2016 14:03:34 GMT+0800 (中国标准时间)
		var date1 = new Date(1479881014 * 1000); //js中是以毫秒为单位要乘以1000 结果格式为C

3.日期转为时间戳:

		var date2 = new Date("2016/11/23 2:03:34:123");//传入时间格式,不传获取当前时间,结果格式为C
		var time1 = date2.getTime();//1479837814123
		var time2 = date2.valueOf();//1479837814123
		var time3 = Date.parse(date2);//1479837814000

三种方法都可以,只是前两种精确到毫秒,第三种毫秒用0代替
获得的时间戳除以1000就可以得到unix的时间戳了
getTime
语法:dateObject.getTime();
dateObject 指定的日期和时间距 1970 年 1 月 1 日午夜(GMT 时间)之间的毫秒数。
valueOf
date 的毫秒表示。返回值和方法 Date.getTime 返回的值相等。
parse
语法:Date.parse(datestring)
datestring 必需。表示日期和时间的字符串
parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数

var d = Date.parse("Jul 8, 2016");

new Date()

参数形式有以下5种:
1)new Date("month dd,yyyy hh:mm:ss");
2)new Date("month dd,yyyy");
3)new Date(yyyy,mth,dd,hh,mm,ss); //必须为整型
4)new Date(yyyy,mth,dd);
5)new Date(ms);
需要注意最后一种形式,参数表示的是需要创建的时间和 GMT时间1970年1月1日之间相差的毫秒数。各种函数的含义如下:
month:用英文 表示月份名称,从January到December
mth:用整数表示月份,从1(1月)到12(12月)
dd:表示一个 月中的第几天,从1到31
yyyy:四位数表示的年份
hh:小时数,从0(午夜)到23(晚11点)
mm: 分钟数,从0到59的整数
ss:秒数,从0到59的整数
ms:毫秒数,为大于等于0的整数
如: 

new Date("January 12,2016 22:19:35");
new Date("January 12,2016");
new Date(2016,1,12,22,19,35);
new Date(2016,1,12);
new Date(1137075575000); 

评论 1 您还未登录,请先 登录 后发表或查看评论
相关推荐

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

zhangwen0424

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值