微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Javascript 中不转换为纪元的情况下增加日期对象

如何解决在 Javascript 中不转换为纪元的情况下增加日期对象

是否可以将日期对象增加一天而不将对象转换为纪元号?

例如传统方式将日期对象转换为纪元数:

var today = new Date();
var tomorrow = new Date(today.valueOf()); // copy date object without converting to epoch
tomorrow.setDate(tomorrow.getDate() + 1); // Now gets converted to epoch :'(

解决方法

set* 方法不会“转换为纪元号”,它们会修改日期的内部时间值并返回修改后的值。日期对象仍然是一个日期。

INFO[2021-06-11T04:11:19.243123905Z] Starting up                                  
INFO[2021-06-11T04:11:19.244395780Z] parsed scheme: "unix"                         module=grpc
INFO[2021-06-11T04:11:19.244560010Z] scheme "unix" not registered,fallback to default scheme  module=grpc
INFO[2021-06-11T04:11:19.244707290Z] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}  module=grpc
INFO[2021-06-11T04:11:19.244885240Z] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2021-06-11T04:11:19.246091201Z] parsed scheme: "unix"                         module=grpc
INFO[2021-06-11T04:11:19.246243462Z] scheme "unix" not registered,fallback to default scheme  module=grpc
INFO[2021-06-11T04:11:19.246383162Z] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}  module=grpc
INFO[2021-06-11T04:11:19.246511172Z] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2021-06-11T04:11:19.252291567Z] [graphdriver] using prior storage driver: overlay2 
INFO[2021-06-11T04:11:19.253495388Z] Loading containers: start.                   
INFO[2021-06-11T04:11:19.284746098Z] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address 
failed to start daemon: Error initializing network controller: Error creating default "bridge" network: failed to check bridge interface existence: no buffer space available

如果你想要一个添加一天并返回一个新 Date 对象的方法,编写一个函数,可能命名为 addDays,它需要一个日期和天数来添加并返回一个新的 Date 对象随着天数的增加。很多库都有这样的功能,写起来不难。

,

不确定是否可以在不转换的情况下做到这一点。也许之后再转换回来。

var today = new Date();
var tomorrow = new Date(today.valueOf());

const x = tomorrow.setDate(tomorrow.getDate() + 1);
console.log(x) //epoch

const z = new Date(x)
console.log(z.toString())

如果您有任何问题,请随时发表评论。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。