我所见过的最简短、最灵活的javascript日期转字符串工具函数

本文介绍了一种使用JavaScript进行日期格式化的简洁方法。通过扩展Date原型,可以轻松地将日期对象转换为所需的格式,如2015-7-02 20:35:11。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们知道javascript的Date对象并没有提供日期格式化函数,将日期对象转换成"2015-7-02 20:35:11"等这种格式又是项目中很常用的需求。最近在我们项目中看到了一段代码,非常的简短,这里共享出来。

Date.prototype.format = function(format) {
	var o = {
		"M+": this.getMonth() + 1, // month
		"d+": this.getDate(), // day
		"h+": this.getHours(), // hour
		"m+": this.getMinutes(), // minute
		"s+": this.getSeconds() // second
	};
    
	if (/(y+)/.test(format)) {
		format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
	}
	
	for (var k in o) {
		if (new RegExp("(" + k + ")").test(format)) {
			format = format.replace(RegExp.$1,
			    RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
		}
	}
	return format;
};



这段代码支持正则表达式,所以我们可以很灵活地制定日期格式化字符串:

var date = new Date();
alert(date.format("yyyy-MM--dd hh:mm:ss"));


实验目的 (1)熟练掌握Python注释行的多种使用方法,能够根据代码的复杂程度和需求,合理选择单行注释或多行注释,准确清晰地对代码进行解释说明,提高代码的可读性和可维护性 (2)深入理解多行语句的换行规则和同一行多语句的分隔方法,能够灵活运用,使代码结构更加清晰 (3)牢记Python标识符的命名规则,能够准确判断标识符的合法性,熟练运用不同命名法进行变量和函数命名 实验内容 (1)注释行实践 (2)多行语句操作 (3)标识符与命名规则 (4)保留字验证 实验步骤(所有代码仅供参考) (1)注释行实践 掌握单行注释、多行注释及文档字符串的用法,理解注释对代码可维护性的意义。 基础单行注释 # 计算斐波那契数列第n项 def fib(n): a, b = 0, 1 for _ in range(n): print(a, end=' ') # 输出当前值 a, b = b, a + b # 更新a和b的值 ​任务:定义整数、浮点数、字符串变量,注释说明;进行简单运算,在代码中添加注释,解释函数功能、变量用途及关键逻辑。 ​验证:运行代码并输出结果,确认注释不影响执行。 多行注释(块注释) def multiply(a, b): """ 该函数用于计算两个数的乘积。 逻辑:接收两个参数并返回它们的乘积。 参数含义: a: 参与乘法运算的第一个数 b: 参与乘法运算的第二个数 返回值类型:与输入参数相同类型的数,即两个数的乘积 """ return a * b # 这是错误注释 缺少结束 print(multiply(3, 4)) ​任务:使用三引号添加多行注释,描述模块功能。 ​验证:通过IDE的“文档查看”功能(如PyCharm的Ctrl+Q)检查注释内容。 (2)多行语句操作 练习处理多行语句时的技巧和规范。 # 复杂算术运算长语句,使用反斜杠换行 complex_result = 1 + 2 + 3 + \ 4 + 5 + 6 print(complex_result) # 字符串拼接,使用反斜杠换行 long_string = "This is a " \ "long string" print(long_string) # 定义列表,使用反斜杠换行 my_list_with_backslash = [1, 2, 3, \ 4, 5, 6] print(my_list_with_backslash) # 定义字典,使用反斜杠换行 my_dict_with_backslash = {'key1': 'value1', \ 'key2': 'value2'} print(my_dict_with_backslash) # 定义元组,使用反斜杠换行 my_tuple_with_backslash = (1, 2, 3, \ 4, 5, 6) print(my_tuple_with_backslash) # 在同一行用分号分隔编写多个短语句 x = 10; y = 20; z = x + y print(z) 任务:(1)使用反斜杠换行,同时对比不使用反斜杠换行;(2)尝试删除反斜杠,观察是否报错;(3)用分号编写多个短句。 验证:运行代码并输出结果;报错SyntaxError: unexpected EOF while parsing,需续行符或括号包裹。 循环结构的多行操作 for i in range(5): if i % 2 == 0: continue # 跳过偶数 print(i, end=' ') ​任务:将if语句与continue的缩进调整为同一层级,测试代码行为。 ​验证:输出结果变为0 1 2 3 4(所有数字被打印),说明缩进错误导致逻辑失效。​ (3) 标识符与命名规则 加强对合法标识符和命名规则的理解。 # 大驼峰命名 class BigCamelClass: def __init__(self): self.BigCamelVariable = 10 def BigCamelFunction(self): return self.BigCamelVariable 可能遇到的问题及解决办法
最新发布
03-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值