如何获得一个特定的部分moment.js/timezone.js日期
我很低的JavaScript。我开始为我的项目使用moment.js库,以使JavaScript代码在时间&日期之前工作,该日期始终与特定时区保持一致。但我正在努力了解如何访问我的变量的不同部分。我的代码:如何获得一个特定的部分moment.js/timezone.js日期
var ItalyZone = "Europe/Rome";
var currentTime= moment().tz(ItalyZone).format();
alert(currentTime.hours()); //this is not working....
如何访问变量 “currenTime” 的几个小时/分钟? 如何为变量“currentTime”设置新的小时?
使用简单的JavaScript日期()函数,我所能做的只是currentTime.getHours()/ currentTime.setHours(),但我应该怎么办使用moment.js ???
为什么使用format
当你只是想的时间,返回日期对象,而不是
var ItalyZone = "Europe/Rome";
var currentTime = moment().tz(ItalyZone).toDate(); // return JS date object
var hours = currentTime.getHours()
您的回答很好,但如果我更改计算机/智能设备时间,它也会影响可变小时数。我开始使用moment.js在我的项目中获取特定时区的特定实时时间,而时钟更改不会影响JavaScript代码。 – ThomasThomaz
换句话说:代码不应该受到设备上时钟变化的影响:) – ThomasThomaz
什么?当然,如果你改变计算机时钟,它会改变,Moment没有解决这个问题,这是与客户端日期一起工作时的继承缺陷,唯一的解决方案是从服务器获取日期。 – adeneo
可以使用get-set功能来做到这一点
moment().minute(Number);
moment().minute(); // Number
moment().minutes(Number);
moment().minutes(); // Number
获取或设置分钟。
在我的代码中,我有很多地方需要比较我的变量currentTime的小时和分钟。我需要得到它的特定变量“currentTime”你的答案不解决我的问题:currentTime.moment()。minutes();不会给我结果。 – ThomasThomaz
您可以使用日期格式来获取日期时间的任何部分:
var ItalyZone = "Europe/Rome";
moment().locale(ItalyZone).format("yyyy"); // year
moment().locale(ItalyZone).format("MM"); // month
moment().locale(ItalyZone).format("DD"); // day
moment().locale(ItalyZone).format("hh"); // hours
moment().locale(ItalyZone).format("mm"); // minutes
moment().locale(ItalyZone).format("ss"); // seconts
console.log(moment().locale(ItalyZone).format("YYYY MM DD hh mm ss"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment-with-locales.min.js"></script>
格式怎么样? moment()。tz(ItalyZone).format(“hh”) - hours moment()。tz(ItalyZone).format(“mm”) - minutes – Sabik