Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【资源帖】Date对象及案例 #429

Open
zptcsoft opened this issue Sep 20, 2018 · 3 comments
Open

【资源帖】Date对象及案例 #429

zptcsoft opened this issue Sep 20, 2018 · 3 comments

Comments

@zptcsoft
Copy link
Collaborator

zptcsoft commented Sep 20, 2018

Date对象资源

  1. 阮一峰 Date 对象
  2. MDN Date对象
  3. 课程讲义
  4. Moment.js 官方网站

Date对象案例

  1. 数字时钟
  2. 模拟时钟
  3. 倒计时时钟
  4. Vue.js实现的漂亮时钟
  5. 颜色背景时钟
  6. canvas实现的环形时钟
@zptcsoft
Copy link
Collaborator Author

zptcsoft commented Sep 20, 2018

网页时钟效果收集 #326

@zptcsoft
Copy link
Collaborator Author

zptcsoft commented Sep 20, 2018

秒针的实现

#clock {
	width: 300px;
	height: 300px;
	background: url(https://bestace.github.io/fed/ppt/demos/jsBase/img/clock.jpg);
	background-size: 100%;
	position: relative;
}

#sec {
	width: 2px;
	height: 100px;
	background-color: #f00;
	position: absolute;
	left: 150px;
	bottom: 150px;
	transform-origin: 50% bottom;
	/*transform: rotate(30deg);*/
}
<div id="clock">
	<div id="sec"></div>
</div>
var oSec = document.getElementById("sec");
function getNow() {
	now = new Date();
	var hour = now.getHours();
	var min = now.getMinutes();
	var sec = now.getSeconds();
	oSec.style.transform="rotate("+sec*6+"deg)";		
	setTimeout(getNow, 1000);
}
getNow();

@zptcsoft
Copy link
Collaborator Author

zptcsoft commented Sep 20, 2018

Moment.js的中文定制

moment.defineLocale('zh-cn', {
	months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
	monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
	weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
	weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),
	weekdaysMin: '日_一_二_三_四_五_六'.split('_'),
	longDateFormat: {
		LT: 'Ah点mm分',
		LTS: 'Ah点m分s秒',
		L: 'YYYY-MM-DD',
		LL: 'YYYY年MMMD日',
		LLL: 'YYYY年MMMD日Ah点mm分',
		LLLL: 'YYYY年MMMD日ddddAh点mm分',
		l: 'YYYY-MM-DD',
		ll: 'YYYY年MMMD日',
		lll: 'YYYY年MMMD日Ah点mm分',
		llll: 'YYYY年MMMD日ddddAh点mm分'
	},
	meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
	meridiemHour: function(hour, meridiem) {
		if(hour === 12) {
			hour = 0;
		}
		if(meridiem === '凌晨' || meridiem === '早上' ||
			meridiem === '上午') {
			return hour;
		} else if(meridiem === '下午' || meridiem === '晚上') {
			return hour + 12;
		} else {
			// '中午'
			return hour >= 11 ? hour : hour + 12;
		}
	},
	meridiem: function(hour, minute, isLower) {
		var hm = hour * 100 + minute;
		if(hm < 600) {
			return '凌晨';
		} else if(hm < 900) {
			return '早上';
		} else if(hm < 1130) {
			return '上午';
		} else if(hm < 1230) {
			return '中午';
		} else if(hm < 1800) {
			return '下午';
		} else {
			return '晚上';
		}
	},
	calendar: {
		sameDay: function() {
			return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';
		},
		nextDay: function() {
			return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';
		},
		lastDay: function() {
			return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';
		},
		nextWeek: function() {
			var startOfWeek, prefix;
			startOfWeek = moment().startOf('week');
			prefix = this.unix() - startOfWeek.unix() >= 7 * 24 * 3600 ? '[下]' : '[本]';
			return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
		},
		lastWeek: function() {
			var startOfWeek, prefix;
			startOfWeek = moment().startOf('week');
			prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
			return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
		},
		sameElse: 'LL'
	},
	ordinalParse: /\d{1,2}(日|月|周)/,
	ordinal: function(number, period) {
		switch(period) {
			case 'd':
			case 'D':
			case 'DDD':
				return number + '日';
			case 'M':
				return number + '月';
			case 'w':
			case 'W':
				return number + '周';
			default:
				return number;
		}
	},
	relativeTime: {
		future: '%s内',
		past: '%s前',
		s: '几秒',
		m: '1 分钟',
		mm: '%d 分钟',
		h: '1 小时',
		hh: '%d 小时',
		d: '1 天',
		dd: '%d 天',
		M: '1 个月',
		MM: '%d 个月',
		y: '1 年',
		yy: '%d 年'
	},
	week: {
		// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
		dow: 1, // Monday is the first day of the week.
		doy: 4 // The week that contains Jan 4th is the first week of the year.
	}
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant