草庐IT

JS中 new Date() 各方法的用法

Xie_bro777 2023-04-10 原文

JS中 new Date() 各方法的用法

1.new Date() 参数篇
a.返回类型为国标时间,
b.无参数时可以直接返回输出时的时间,
c.有参数时则返回对应时间的国标时间,
d.日期中间的符号可以为,(英文逗号) - / . * = !@ # ¥ % & ,不可为~ · ` ^ + ,(中文逗号) 。

new Date()
Sun Aug 21 2022 15:22:09 GMT+0800 (中国标准时间)

new Date("2022-01-01")
Sat Jan 01 2022 08:00:00 GMT+0800 (中国标准时间)

new Date("2022/01/01")
Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)

new Date("2022.01.01")
Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)

new Date("2022*01*01")
Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)

new Date("Sat Jan 2022")
Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间) 

注1:英文括号 都为左括号 或一对括号 ,两个右括号无法识别

new Date("2022(01)01")
Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)

new Date("2022(01(01")
Sat Jan 01 2022 00:00:00 GMT+0800 (中国标准时间)

new Date("2022)01)01")
Invalid Date 	// 无效的时间

注2:也可以用六个参数表示日期时间的各个数值
其中第二个参数代表月份减一,即参数为1时,其实是二月,第三个参数为0,代表上个月的最后一天

new Date("2022","01",0,11,12,20)
Mon Jan 31 2022 11:12:20 GMT+0800 (中国标准时间)

注3:入参为时间戳时 返回对应的国标时间

new Date(1661051533000)		
//Sun Aug 21 2022 11:12:13 GMT+0800 (中国标准时间)

2.方法篇

查询一个月有多少天

//2022年一月份的天数
new Date("2022","01",0).getDate() 				// 31

日常方法

入参日期的 时间戳
new Date("2022-08-21 11:12:13").getTime() 		// 1661051533000

入参日期的 星期(注:日:0 ,一:1,二:2,三:3,四:4,五:5,六:6new Date("2022-08-21 11:12:13").getDay()        // 0

入参日期的 年
new Date("2022-08-21 11:12:13").getFullYear()  	// 2022

入参日期的 月 -1 
new Date("2022-08-21 11:12:13").getMonth()  	// 7

入参日期的 日
new Date("2022-08-21 11:12:13").getDate() 		// 21

入参日期的 时
new Date("2022-08-21 11:12:13").getHours() 		// 11

入参日期的 分
new Date("2022-08-21 11:12:13").getMinutes()  	// 12

入参日期的 秒
new Date("2022-08-21 11:12:13").getSeconds() 	// 13

入参日期的 毫秒 (注:最大为999)
new Date("2022-08-21 11:12:13:999").getMilliseconds()  //999

入参日期 距 1900年的年数

new Date("2022-08-21 11:12:13").getYear() 		// 122

3.国标时间、时间戳、年月日 时分秒的转换

//vue  js 文件
handlerZero(param){
	param= param<10?('0'+param):param
},
// 国标时间 转 年月日 时分秒
formatDateTime(date) {
    let y = date.getFullYear()
    let m = date.getMonth()+1
    let d = date.getDate()
    let h = date.getHours()
    let h = date.getHours()
    let mi = date.getMinutes()
    let ss = date.getSeconds()
    return y+this.handlerZero(m)+this.handlerZero(d)+this.handlerZero(h)+this.handlerZero(mi)+this.handlerZero(ss)
},
// 时间戳转年月日 时分秒
formatDateTime2(date) {
    let datee = new Date(date)
    return this.formatDateTime(datee)
},
// 年月日 转 时间戳
formatDateTime3(date) {
    let y = date.substring(0,4)
    let m = date.substring(4,6)
    let d = date.substring(6,8)
    let str = y+'-'+m+'-'+d 
    return new Date(str).getTime()
}

有关JS中 new Date() 各方法的用法的更多相关文章

  1. ruby-on-rails - Rails 渲染带有驼峰命名法的 json 对象 - 2

    我在一个简单的RailsAPI中有以下Controller代码:classApi::V1::AccountsControllerehead:not_foundendendend问题在于,生成的json具有以下格式:{id:2,name:'Simpleaccount',cash_flows:[{id:1,amount:34.3,description:'simpledescription'},{id:2,amount:1.12,description:'otherdescription'}]}我需要我生成的json是camelCase('cashFlows'而不是'cash_flows'

  2. ruby - 有人可以解释一下在 Ruby 中注入(inject)的真实、通俗易懂的用法吗? - 2

    我正在学习Ruby,遇到了inject。我正处于理解它的风口浪尖,但当我是那种需要真实世界的例子来学习一些东西的人时。我遇到的最常见的例子是人们使用inject来添加一个(1..10)范围的总和,我不太关心这个。这是一个任意的例子。在实际程序中我会用它做什么?我正在学习,所以我可以继续使用Rails,但我不必有一个以Web为中心的示例。我只需要一些我可以全神贯注的目标。谢谢大家。 最佳答案 inject有时可以通过它的“其他”名称reduce更好地理解。它是一个对Enumerable进行操作(迭代一次)并返回单个值的函数。它有许多有

  3. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  4. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

  5. ruby - 使用法拉第上传文件 - 2

    我在尝试使用Faraday将文件上传到网络服务时遇到问题。我的代码:conn=Faraday.new('http://myapi')do|f|f.request:multipartendpayload={:file=>Faraday::UploadIO.new('...','image/jpeg')}conn.post('/',payload)尝试发布后似乎没有任何反应。当我检查响应时this是我所看到的:#:post,:body=>#,#,@opts={}>,#],@index=0>>,#>],@ios=[#,#,@opts={}>,#],@index=0>,#],@index=0>

  6. ruby - rspec: raise_error 用法来匹配错误信息 - 2

    我使用raise(ConfigurationError.new(msg))引发错误我试着用rspec测试一下:expect{Base.configuration.username}.toraise_error(ConfigurationError,message)但这行不通。我该如何测试呢?目标是匹配message。 最佳答案 您可以使用正则表达式匹配错误消息:it{expect{Foo.bar}.toraise_error(NoMethodError,/private/)}这将检查NoMethodError是否由privateme

  7. node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试 - 2

    我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

  8. 【ChatGPT】ChatGPT 的 N 种用法 - 2

    目录ChatGPT简介技术原理应用未来发展ChatGPT的10 种用法ChatGPT简介ChatGPT是一种基于深度学习的大型语言模型,由OpenAI公司开发。技术原理GPT是GenerativePre-trainedTransformer的缩写,意为生成式预训练变压器。它的技术原理是使用了一个基于注意力机制的变压器(Trans

  9. ruby - 是否有 Rack::Session::Cookie 用法的基本示例? - 2

    我找不到任何使用Rack::Session::Cookie的简单示例,并且希望能够将信息存储在cookie中,并在以后的请求中访问它并让它过期.这些是我能找到的唯一示例:HowdoIset/getsessionvarsinaRackapp?http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html这是我得到的:useRack::Session::Cookie,:key=>'rack.session',:domain=>'foo.com',:path=>'/',:expire_after=>2592000,:secret=

  10. node.js - 从未编写过任何自动化测试,我应该如何开始行为驱动开发? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。多年来,我一直在使用多种语言进行编程,并且认为自己总体上相当擅长。但是,我从未编写过任何自动化测试:没有单元测试,没有TDD,没有BDD,什么都没有。我已经尝试开始为我的项目编写适当的测试套件。我可以看到在进行任何更改后能够自动测试项目中所有代码的理论值(value)。我可以看到像RSpec和Mocha这样的测试框架应该如何使设置和运行所述测试变得相当容易

随机推荐