你如何用javascript设置strftime?

Posted

技术标签:

【中文标题】你如何用javascript设置strftime?【英文标题】:How do you set a strftime with javascript? 【发布时间】:2015-09-14 09:15:28 【问题描述】:

我需要自定义格式日期。在 ruby​​ 中,我会使用 strftime 或字符串格式的时间来完成此操作。

now = Time.new
now.strftime '%a, %d of %b' #=> "Sat, 27 of Jun"

javascript 是否使用 strftime 或类似的东西?如何在javascript中获得类似的效果?

【问题讨论】:

MomentJs 在 2.0 版本中引入了新的格式化标记,并支持多种语言格式化documented here 【参考方案1】:

有几个不错的用于 javascript 的 strftime() 端口。

https://github.com/samsonjs/strftime 非常全面,移植了很多来自 C-lang 和 Ruby 的说明符。

https://thdoan.github.io/strftime/ 如果您正在寻找精简版,则更简单。

我很欣赏 Walter 关于自定义实现的非常详细和清晰的回答,但我个人不想为日期格式等常见问题自己编写代码(实际上,在看到自定义代码的重复问题后,我又回到了使用上面的库)。

【讨论】:

我喜欢thdoan.github.io/strftime 的轻盈和优雅!谢谢。【参考方案2】:

更新

toLocaleString 方法的参数也可以配置格式 日期。现代浏览器版本支持此功能,您可以查看更多 信息here。

let date = new Date(Date.UTC(2015, 5, 27, 12, 0, 0))
, options = weekday: 'short', month: 'short', day: 'numeric' ;
console.log(date.toLocaleString('es-ES', options)); //sáb. 27 de jun.

在 JavaScript 中有创建日期的方法,但没有用于格式化的本机代码。您可以阅读 Date()。但是有libraries 这样做。特别是对我来说,深入使用它的最佳库是MomentJS。所以你可以这样做:moment().format('dd, d of MMMM')

但是,如果您不想使用库,则可以访问以下本地 Date 属性:

var now = new Date();

document.write(now.toUTCString() + "<br>")
document.write(now.toTimeString() + "<br>")

Date Object一些属性

toDateString()  Converts the date portion of a Date object into a readable string
toGMTString()   Deprecated. Use the toUTCString() method instead
toISOString()   Returns the date as a string, using the ISO standard
toJSON()    Returns the date as a string, formatted as a JSON date
toLocaleDateString()    Returns the date portion of a Date object as a string, using locale conventions
toLocaleTimeString()    Returns the time portion of a Date object as a string, using locale conventions
toLocaleString()    Converts a Date object to a string, using locale conventions
toString()  Converts a Date object to a string
toTimeString()  Converts the time portion of a Date object to a string
toUTCString() Converts a Date object to a string, according to universal time

【讨论】:

以上是关于你如何用javascript设置strftime?的主要内容,如果未能解决你的问题,请参考以下文章

打字稿:你如何用布尔或回调函数定义联合类型?

教你如何用青花瓷(Charles)抓包

大神教你如何用Python爬取手机壁纸,就是这么为所欲为!

六步教你如何用PADS进行PCB设计?

教你如何用好这些IT运维管理必备工具

教你如何用ffmpeg处理音频格式转换(标贝科技)