在时刻js以特定格式获取日期时间

时间:2016-12-19 09:51:42

标签: javascript momentjs

我试图以这种格式获取日期时间js:

2016-12-19T09:43:45.672Z

问题是我能够将时间格式设为

2016-12-19T15:04:09+05:30

使用

moment().format();

但我需要格式为第一个[如.672Z而不是+05:30]。任何建议都会有很大的帮助。

4 个答案:

答案 0 :(得分:2)

来自documentation on the format method

  

要转义格式字符串中的字符,可以将字符包装在方括号中。

自" Z"是时区的格式标记,您需要将其转义。所以你想要的格式字符串是:

moment().format('YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');

正如@VincenzoC在评论中所说,toISOString()方法也会为您提供您所追求的格式。

答案 1 :(得分:0)

使用moment.utc()以UTC时间而不是本地时间显示时间:

var dateValue = moment().toISOString();

或moment()。toISOString()以ISO格式显示字符串(格式:YYYY-MM-DDTHH:mm:ss.sssZ,时区始终为UTC):

location = getLocation();
Observable.from(users)
    .flatMap(user -> return mPresenterRx.userIdAlreadyInDatabase(location, user.userId) // This returns a Observable<Boolean>
        .flatMap(alreadyExists -> alreadyExists ? Observable.just(user) : null)) // Flatmap back to a user
    .filter(user -> return user != null)
    .take(1)
    .map(user -> return combine(location, user)) // Returns a UserLocation
    .subscribe(...);

答案 2 :(得分:0)

尝试一下

    const start_date = '2018-09-30';
    const t = moment(start_date).utc().format();
    console.log(t);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

答案 3 :(得分:-1)

var dateTime = new Date("2015-06-17 14:24:36");
dateTime = moment(dateTime).format("YYYY-MM-DD HH:mm:ss");

试试这个。您应该以正确的格式提供日期。