【问题标题】:converting ddmmyy into week number将 ddmmyy 转换为周数
【发布时间】:2021-02-25 19:08:34
【问题描述】:

我的 ML 模型将输入作为周数并使用烧瓶框架预测输出。我已经考虑从 04-01-2016 开始日期作为第 1 周,依此类推直到 23-12-2019(第 208 周)。 我希望我的 HTML 页面中的用户通过 datepicker 选择日期,并且选择的 ddmmyy 应该转换为等效的周数。如果我尝试使用日期时间库,它将显示 1-52 之间的周数。但是我考虑过 53,54,55.... 在 52.

我该如何实现呢?以及在哪里插入这个转换并在烧瓶框架中调用。

我找不到逻辑。

import numpy as np
from flask import Flask, request, jsonify, render_template
import pickle

app = Flask(__name__)
model = pickle.load(open('mech.pkl', 'rb'))

@app.route('/')
def home():
   return render_template('mech.html')

@app.route('/predict',methods=['POST'])
def predict():
   int_features = [int(x) for x in request.form.values()]
   final_features = [np.array(int_features)]
   prediction = model.predict(final_features)

output = round(prediction[0], 2)

return render_template('mech.html', prediction_text='Water prediction should be {} litres'.format(output))


if __name__ == "__main__":
    app.run(debug=True)

【问题讨论】:

    标签: python python-datetime


    【解决方案1】:

    js 在计算日期时使用毫秒。从您的基准日期开始。转换为实际日期,然后从您有问题的每个日期中减去该日期。根据需要划分,您将获得所需的一周。另请注意, new Date() 采用 m-d-y 格式的字符串,因此您的 d-m-y 格式首先需要转换。如果您使用的是 jquery datepicker,我相信您会得到一个正确的 m-d-y 格式的字符串。此逻辑将添加到您的预测路线中。但请记住,您现在正在处理一个字符串。示例如下:

    function dmy_mdy(base){
    base = base.split('-')
    return base[1] + '-' + base[0] + '-' + base[2]
    }
    
    
    var baseDate = new Date(dmy_mdy('04-01-2016'))
    var newDate = new Date(dmy_mdy("28-11-2016"))
    
    var dateDiff = newDate - baseDate
    
    var week =Math.ceil( dateDiff / (60*60*24*1000*7)) + 1
    
    console.log(week )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-23
      • 2017-10-21
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 1970-01-01
      相关资源
      最近更新 更多