我的服务器应用程序返回一个UTC时间戳字符串。
现在我想将它转换为日期对象以获取本地日期时间,然后将该日期对象转换回时间戳以获取本地时间戳。
这似乎不起作用,因为输出的两个字符串相同
console.log(JSON.stringify(timestamp));
var date = new Date(timestamp*1000).getTime();
console.log(JSON.stringify(date));
我该如何解决这个问题?
答案 0 :(得分:0)
您需要使用时间戳创建一个新的Date实例(我假设它已经是格式良好的日期对象)。您的代码将如下所示:
console.log(JSON.stringify(timestamp));
var date = new Date(timestamp);
console.log(JSON.stringify(date));
尝试一下,让我知道输出是否仍然相同。
答案 1 :(得分:0)
我认为这就是你需要的。 您需要获取当前时间,转换它并以您需要的格式将其发送回服务器。
var utcDate = 1470621520;
var localDate = new Date(utcDate);
console.log(localDate);
编辑根据评论,您可以将UTC时间转换为本地时区,
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.regex("/api/.*"))
.build()
.apiInfo(apiInfo());
}
@SuppressWarnings("deprecation")
private ApiInfo apiInfo() {
ApiInfo apiInfo = new ApiInfo(
"My Project's REST API",
"This is a description of your API.",
"API TOS",
"me@wherever.com",
"API License",
"API License URL", null
);
return apiInfo;
}
}
这会自动将UTC转换为本地时区转换。
答案 2 :(得分:0)
这是我实际的操作方式。我有一个日期选择器,它给我一个这样的日期:2020年2月27日(sDate),一个时间选择器,给我这样的时间:16:15(sTime)。我想将其保存在unixtime中作为sUnixtime,然后稍后检索sUnixtime并转换回nDate和nTime以复制相同的视觉设计。这是代码:
要保存:
sEvent = sDate + ' ' + sTime;
date_obj = new Date(sEvent);
sUnixtime = Date.parse(date_obj)/1000;
要转换回
let nUnixtime = new Date(sUnixtime * 1000);
let unixmonth = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][nUnixtime.getMonth()];
let nDate = nUnixtime.getDate() + ' ' + unixmonth + ', '+ nUnixtime.getFullYear();
let nTime = nUnixtime.getHours() +':'+ nUnixtime.getMinutes();
console.log(nDate, 'time',nTime);