我使用Moment.js和Moment-Timezone框架,并有一个明确在UTC时区的Moment.js日期对象。如何将其转换为浏览器的当前时区?
var testDateUtc = moment.tz("2015-01-30 10:00:00", "UTC");
var localDate = ???
所以如果我能找出用户所在的时区就好了;或者,我想把date对象转换成另一个数据对象,它只使用“本地时区”,不管它实际上是什么。
以下是我所做的:
var timestamp = moment.unix({{ time }});
var utcOffset = moment().utcOffset();
var local_time = timestamp.add(utcOffset, "minutes");
var dateString = local_time.fromNow();
其中,{{time}}
是utc时间戳。
var dateFormat = 'YYYY-DD-MM HH:mm:ss';
var testDateUtc = moment.utc('2015-01-30 10:00:00');
var localDate = testDateUtc.local();
console.log(localDate.format(dateFormat)); // 2015-30-01 02:00:00
见:http://momentjs.com/docs/#/manipulating/local/
您不需要为此使用即时时区。主要时刻。js库具有使用UTC和本地时区的完整功能。
var testDateUtc = moment.utc("2015-01-30 10:00:00");
var localDate = moment(testDateUtc).local();
在那里,您可以使用您可能期望的任何功能:
var s = localDate.format("YYYY-MM-DD HH:mm:ss");
var d = localDate.toDate();
// etc...
请注意,通过将testDateUtc
传递回moment()
构造函数,它创建了一个克隆。否则,当您调用时。local(),它还将更改testDateUtc值,而不仅仅是localDate值。时刻是可变的。
另请注意,如果您的原始输入包含时区偏移,例如00:00
或Z
,那么您可以直接使用时刻
解析它。您不需要使用. utc
或. local
。例如:
var localDate = moment("2015-01-30T10:00:00Z");
问题内容: 从服务器上,我得到了这种格式的datetime变量:它是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时间。 如何使用JavaScript或jQuery完成此操作? 问题答案: 在将字符串转换为javascript中的日期之前,将’UTC’附加到字符串中:
问题内容: 我从我的API获取此日期字符串: 但是此日期为UTC格式,我想将其转换为当地时间,该怎么办? 我尝试了这个: 但是它返回了这个错误: 问题答案: 您的日期格式模式错误。改成: 有关更多信息,请参见SimpleDateFormat的javadoc。
var res=“03/19/2020 13:15:00”;//最短时间 当我转换到本地时区时 矩(矩(存储日期,'MM/DD/YYYY HH:MM:ss').utc()).local().format(“MM-DD-YYYY HH:MM:ss”) 我尝试了很多东西。但我不知道如何在javascript中将Est日期时间转换为本地日期时间。
问题内容: 有谁知道如何将JS dateTime转换为MySQL datetime?还有一种方法可以向JS日期时间添加特定的分钟数,然后将其传递给MySQL日期时间? 问题答案: 尽管JS确实拥有足够的基本工具来执行此操作,但它相当笨拙。
问题内容: 输入字符串:2012年6月14日-UTC 01:00:00 输出本地字符串:2012年6月13日-美国东部时间21:00:00 我喜欢从中获取补偿 有什么建议吗? 问题答案: 这应该可以满足您的需求: 请注意,您的示例是错误的:在UTC的6月14日凌晨1点,在EST,标准时间晚上8点或夏令时仍然是6月13日。在我的系统上,该程序会打印
我有以下字符串: 我尝试用以下代码将此字符串转换为: Java . time . format . datetimeparseexception:无法解析文本“18/07/2019 04:30:00”:无法从TemporalAccessor获取LocalDateTime 我错过了什么?