我有一个日期格式的 moment 对象,但 _a(array) 实际上以所有整数返回格式,见下文。
_a: Array[7]
0: 2014
1: 2
2: 22
3: 0
4: 0
5: 0
6: 0
length: 7
Run Code Online (Sandbox Code Playgroud)
我的问题是有可能将月份实际设置为月份的名称字符串吗?
编辑:这是我拨打的那一刻,这是数组中返回的内容
moment(datetoformat, "ddd MMM DD");
Run Code Online (Sandbox Code Playgroud) 我有以下1447862653771要格式化的时间戳。
www.epochconverter.com 成功转换为 GMT: Wed, 18 Nov 2015 16:04:13 GMT
我正在使用moment.js,但它没有正确格式化日期。
moment.unix('1447862653771') 给出了周二 12 月 10 日 47850 09:29:31 GMT-0500(东部标准时间)
$("body").append($("<p>").text(moment.unix('1447862653771')));Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/moment.js/1.7.2/moment.min.js"></script>Run Code Online (Sandbox Code Playgroud)
我有一个 dateCreated as 2015-12-11T11:12:14.635Z 来自数据库中的每个对象的数组
我想过滤上周和上个月的数组
问题是,如果今天是 3 月 19 日,我要在过去 7 天从 11 日到 18 日进行搜索,这似乎是通过计算 24 小时 * 7 来搜索过去 7 天,我的搜索需要从 00:00 开始:01 每天。
现在我首先想先计算上周..基于当前日期使用 moment.js 然后我将其转换为上述格式,以便我可以过滤数据
基本上,我想根据当前时间戳计算上周。
我知道这似乎是一个直截了当的问题 - 但尽管 Moment.js 和时刻时区是获取/设置和格式化日期的非常强大的工具..
我在将我的应用程序捕捉到单个时区时遇到问题。
我想要的是让用户从日期/时间选择器中进行选择 - 并将其作为 UTC 中的 unix 时间戳发送......但日期/时间选择器必须被视为 BST。
换句话说,即使您在国外使用该网站 - 如果您在英国选择它,您选择的日期/时间应该是 UTC 值。
var local = moment(dateTime).unix();
var london = moment(dateTime).tz('Europe/London').unix();
var berlin = moment(dateTime).tz('Europe/Berlin').unix();
Run Code Online (Sandbox Code Playgroud)
所有 3 个变量将等于同一台机器上的 SAME UTC 时间戳,但在不同时区运行的另一台机器上的时间戳不同。
想想看……如果我的日期/时间是星期六下午 3 点……那在伦敦的 UTC 与在柏林的 UTC 不同,因为它会在柏林提前一小时发生。
如何强制将日期/时间视为特定时区?
谢谢 :-)
我在 Moment.js 中正确格式化日期时遇到问题。我正在使用格式为“LLL D,YYYY”的格式函数,因此它应该返回类似“2016 年 9 月 15 日”的内容。
相反,它以一种奇怪的格式返回日期,例如“2016 年 9 月 15 日 12:00 2016 年 15 月 15 日”。
这是我的代码,下面是调试信息。
moment.locale(picker.options.language);
console.log('picker.options.language:');
console.log(picker.options.language);
formatted = moment(picker.date).format(picker.format);
console.log('picker.date:');
console.log(picker.date);
console.log('picker.format:');
console.log(picker.format);
console.log('formatted:');
console.log(formatted);
Run Code Online (Sandbox Code Playgroud)
上面代码的控制台输出:
我有一个时间戳2016-09-14T10:44:55.027Z,我只想显示该10:44:55部分,但我不完全确定如何显示。我可以访问 moment 库,但不确定如何将其传递到 moment 中并对其进行格式化,我该如何添加 AM 或 PM?
moment("2016-09-14T10:44:55.027Z").format('hh:mm:ss')
Run Code Online (Sandbox Code Playgroud)
好像输出 11:44:55?
jsFiddle http://jsfiddle.net/eemfu0ym/
代码有问题。
var mom = moment("23-11-2016 00:00", "DD-MM-YYYY HH:mm");
alert(mom.toISOString());
//result 2016-11-22T17:00:00.000Z
Run Code Online (Sandbox Code Playgroud)
为什么结果不是2016-11-23T00:00:00.000Z?我怎样才能得到2016-11-23T00:00:00.000Z结果?
我有以下组件:
<Moment element={Text}
format="MMM DD, YYYY \at h:mma"
style={dateStyle}
>
{this.props.updateDate}
</Moment>
Run Code Online (Sandbox Code Playgroud)
它目前正在输出类似Jan 01, 2017 at 12:53pm,但我需要它来输出JAN 01, 2017 AT 12:53PM。
通常你会{string.toUppercase()}用来实现这一点,但我在弄清楚如何获得输出时遇到问题。
任何帮助将不胜感激。谢谢!
我想根据今天的时间获得本周的“星期一”,样本是:
21-11-2017 输出应该是 20-11-2017
23-11-2017 输出应该是 20-11-2017
26-11-2017 输出应该是 20-11-2017
var d = new Date();
console.log(d.getDate())
console.log(d.getDay()+1)
d.setDate(d.getDate() - d.getDay()+1);
Run Code Online (Sandbox Code Playgroud)
除了星期日(26-11-2017)手动更改时间以测试它返回的不同情况外,代码工作正常
Mon Nov 27 2017 23:50:39 GMT-0800 (Pacific Standard Time)
Run Code Online (Sandbox Code Playgroud)
对于其他日期,如
25-11-2017 返回 2017 年 11 月 20 日星期一 23:50:39 GMT-0800(太平洋标准时间)
24-11-2017 返回 2017 年 11 月 20 日星期一 23:50:39 GMT-0800(太平洋标准时间)
22-11-2017 它返回 Mon Nov 20 2017 23:50:39 GMT-0800(太平洋标准时间),这是需要的,但对于每个星期天,它返回即将到来的星期一,我想不出什么好东西
简而言之,我想从星期一而不是星期天开始我的一周
也许是一个简单的问题,但我不明白。
var date = new Date();
test = date.toISOString();
alert(moment(test, "YYYYMMDD").fromNow());
Run Code Online (Sandbox Code Playgroud)
会返回“16 小时”,但为什么呢?