• TimeSpan转DateTime的骚操作


    啊哈,果然有需求的一周  日子过得很快啊、

    不知不觉就又到了今天,上周忙的要是,本来打算周五写一写,结果写到一半后就又折腾其他的了

    老规矩记录下上周当中用过的一些技术,和心得(主要是写给自己)

    在这周当中,我要做一个秒杀的功能,在这个秒杀里面有一个秒杀的倒计时,

    目标为需要动态的显示 当前时间和秒杀活动结束时间的时间差,

    也就是说在页面中要有一个时间栏能够显示 还有多久我就买不了这玩意儿了。

    需求好像很简单,先这样,在那样,最后在这样不就完了吗.....

    ===================================================

    其实应该是,先计算出当前时间和结束时间的时间差,然后把时间差拿来放入页面中。

    本来这事儿在客户端就能干了,

    但是,这里要说个但是。。。

    JS中的时间换算实在是太不友好,所以。我就把这事儿搬到了后台,自己个儿写了一方法。

    这里吐槽就先过。。。 重点说怎么处理的这事儿

    直接上Code

    1 DateTime endTime = Convert.ToDateTime(time);
    2 TimeSpan leftTime = endTime - DateTime.Now;
    3 
    4 DateTime getPureLeftTime = new DateTime(1970, 1, 1).Add(leftTime);
    5 
    6 string timer = getPureLeftTime.ToString("yyyy/MM/dd-HH:mm:ss");
    7 timer = timer.Substring(timer.LastIndexOf('-')+1);

    首先我们都知道,TimeSpan是一个区间值,它的时间是没办法直接拿来用的。所以如果直接强制转换它是不太现实的(可能是我不知道怎么转)

    于是经过广大群友和我的聪明才智,这里是重点,敲黑板。

    我给了一个初始值,

    DateTime getPureLeftTime = new DateTime(1970, 1, 1).Add(leftTime);

    也就是这里,把剩余时间加到了新的时间里面,因为我们都知道,这样new出来的DateTime是一个新的初始值,所有的时间为0点

    那么最后我把前面的时间截取掉,直接取时间文本不久好了嘛(美滋滋)

    综上,我就获取到了,也就是(强转)TimeSpan的时间。

  • 相关阅读:
    Windows:多网卡:网卡接口【共享】功能,实现简单的windows【NAT】防火墙
    Windows Server:DHCP 服务:一点总结
    Windows 2003 多网卡MAC网桥功能:依赖于 "DHCP client" 后台服务! 结论错误;以及后续。
    给widnows系统打补丁的感悟
    基于Java的WebService服务端
    Spring 事件记录
    Oracle数据库备份还原相关语句
    基于Java的WebService客户端
    汽车的CAN和LIN总线学习
    eclipse:第一次打开XXX.properties文件时乱码
  • 原文地址:https://www.cnblogs.com/SevenWang/p/13984444.html
Copyright © 2020-2023  润新知