doumaqing6652 2014-12-29 21:19
浏览 27

Golang扣除日期的特定时间

I have a date in golang like 2014-10-22 00:00 , and I want to deduct in 330 minutes , the following is the code I used, however, it does not works, I tried to reduce the time with negative duration, however , the time is not reduced. Originally, "Start date" is 2014-12-29 00::00, after deduction, it is still 2014-12-29 00:00, that means the deduction is not work.

    layoutStart := "2006-01-02 15:04"
    layoutEnd := "2006-01-02 15:04"

    var st time.Time
    var et time.Time

    var err error
    var err2 error

    var neg_india_offset = time.Duration(-330) * time.Minute
    //var day_offset time.Duration = 1439 * time.Minute

    if st, err = time.Parse(layoutStart, startDate); err == nil {
        log.Printf("Start Time decoded: %v", st)
        st.Add(neg_india_offset)
        log.Printf("Start Time deduct: %v", st)
    } else {
        log.Printf("Failed to decode start time: %v", err)
    }

    if et, err2 = time.Parse(layoutEnd, endDate); err2 == nil {
        log.Printf("End Time decoded: %v", et)
        st.Add(neg_india_offset)
        log.Printf("End Time added day: %v", et)
    } else {
        log.Printf("Failed to decode end time: %v", err2)
    }
  • 写回答

1条回答 默认 最新

  • dongmeixi5311 2014-12-29 21:34
    关注

    The function time.Time.Add() does not overwrite its argument. It returns the new time. Change the line

    st.Add(neg_india_offset)
    

    to

    st = st.Add(neg_india_offset)
    

    If you want to get a date with a specific time-zone, have a look at the time.ParseInLocation() function. It can parse a date for a specified time zone; use it like this:

    loc, err := time.LoadLocation("India/Delhi")
    // ...
    
    st, err = time.ParseInLocation(layoutStart, startDate, loc)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。