第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 和 Django 時(shí)區(qū)格式的問(wèn)題

Python 和 Django 時(shí)區(qū)格式的問(wèn)題

四季花海 2023-10-18 16:34:47
我最近在我的settings.py USE_TZ = TrueDjango 項(xiàng)目中添加了讓 Celery 工作的命令,現(xiàn)在在使用該datetime.strptime命令的其他視圖中,它添加了 ,-04:00因?yàn)槲业臅r(shí)區(qū)是America/New_York。我不需要該字段的時(shí)區(qū)。如何從中刪除時(shí)區(qū)?下面是我的代碼。new_event.start = datetime.strptime(str(obj.start_date) ,"%Y-%m-%d %H:%M:%S")  new_event.end = datetime.strptime(str(obj.end_date) ,"%Y-%m-%d %H:%M:%S")
查看完整描述

1 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊

假設(shè)變量中my_time_1存儲(chǔ)的時(shí)間與X_var您希望的時(shí)間有一定的小時(shí)差。


您可以通過(guò)執(zhí)行以下操作“手動(dòng)”取消增量:


X_var = -4 # In your case the delta is equal to -4


from datetime import timedelta    

my_time_1 = my_time_1 + timedelta(hours=X_var)

但是,這不是很干凈,也許您應(yīng)該將根據(jù)前一個(gè)時(shí)區(qū)表示的時(shí)間轉(zhuǎn)換為根據(jù)后一個(gè)時(shí)區(qū)表示的時(shí)間。


您可以使用這個(gè)自定義函數(shù):


# I copied it from some SO question but can't find which one


import pytz, datetime    


def convert_datetime_timezone(date_and_time_input, tz1, tz2):

    tz1 = pytz.timezone(tz1)

    tz2 = pytz.timezone(tz2)


    dt = datetime.datetime.strptime(date_and_time_input,"%Y-%m-%d %H:%M:%S")

    dt = tz1.localize(dt)

    dt = dt.astimezone(tz2)

    dt = dt.strftime("%Y-%m-%d %H:%M:%S")


    return dt

因此,要從my_time_1America/New_York 切換回 UTC,您可以使用:


my_time_1 = convert_datetime_timezone(my_time_1, America/New_York, UTC)

您應(yīng)該采取什么措施來(lái)解決您的問(wèn)題:


代替:


new_event.start = datetime.strptime(str(obj.start_date) ,"%Y-%m-%d %H:%M:%S") 

new_event.end = datetime.strptime(str(obj.end_date) ,"%Y-%m-%d %H:%M:%S")

和:


import pytz, datetime    


def convert_datetime_timezone(date_and_time_input, tz1, tz2):

    tz1 = pytz.timezone(tz1)

    tz2 = pytz.timezone(tz2)


    dt = datetime.datetime.strptime(date_and_time_input,"%Y-%m-%d %H:%M:%S")

    dt = tz1.localize(dt)

    dt = dt.astimezone(tz2)

    dt = dt.strftime("%Y-%m-%d %H:%M:%S")


    return dt


adjusted_start_date = convert_datetime_timezone(obj.start_date, America/New_York, UTC)

adjusted_end_date = convert_datetime_timezone(obj.end_date, America/New_York, UTC)


new_event.start = datetime.strptime(str(adjusted_start_date) ,"%Y-%m-%d %H:%M:%S") 

new_event.end = datetime.strptime(str(adjusted_end_date) ,"%Y-%m-%d %H:%M:%S")


查看完整回答
反對(duì) 回復(fù) 2023-10-18
  • 1 回答
  • 0 關(guān)注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)