如何在不同区域设置中对日期对象进行 strftime? [复制]

2023-12-24

我在 python 中有一个日期对象,我需要使用 %a (工作日)和 %b (月份)代码在旧系统的 C 语言环境中生成时间戳。但是,我不想更改应用程序的区域设置,因为其他部分需要尊重用户当前的区域设置。有没有办法在特定区域设置下调用 strftime() ?


Rob 给出的例子很棒,但不是线程安全的。这是一个适用于线程的版本:

import locale
import threading

from datetime import datetime
from contextlib import contextmanager


LOCALE_LOCK = threading.Lock()

@contextmanager
def setlocale(name):
    with LOCALE_LOCK:
        saved = locale.setlocale(locale.LC_ALL)
        try:
            yield locale.setlocale(locale.LC_ALL, name)
        finally:
            locale.setlocale(locale.LC_ALL, saved)

# Let's set a non-US locale
locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')

# Example to write a formatted English date
with setlocale('C'):
    print(datetime.now().strftime('%a, %b')) # e.g. => "Thu, Jun"

# Example to read a formatted English date
with setlocale('C'):
    mydate = datetime.strptime('Thu, Jun', '%a, %b')

它使用全局锁创建线程安全上下文管理器,并允许您使用 LOCALE_LOCK 让多个线程运行与语言环境相关的代码。它还处理来自yield 语句的异常,以确保始终恢复原始语言环境。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不同区域设置中对日期对象进行 strftime? [复制] 的相关文章

随机推荐

  • 如何验证 Apple APN 设备令牌 - WCF .NET

    我正在构建一个 WCF REST Web 服务 移动应用程序调用该服务将 Apple 设备令牌插入数据库 我想在插入数据库之前验证设备令牌 是否有办法验证设备令牌以了解其是否有效 我在论坛上进行了搜索 但找不到任何示例代码 在 NET 中
  • 将 UITabBarItem 图像向下移动?

    通常在每个选项卡上UITabBar您有一个小图像和一个命名该选项卡的标题 图像位于选项卡顶部 居中以容纳下面的标题 我的问题是 如果你想要一个只有图像而没有标题的 tabBar 有没有办法将图像向下移动 以便它在选项卡中更好地居中 我目前正
  • 将 iframe 插入到 React 组件中

    我有一个小问题 从服务请求数据后 我得到了一个 iframe 代码作为响应 我想将其作为道具传递给我的模态组件并显示它 但是当我简单地 this props iframe 它在渲染函数中显然将其显示为字符串 在 React 中或使用 JSX
  • 使用 PHP 从纯文本和 HTML 文本的混合创建 PDF [重复]

    这个问题在这里已经有答案了 可能的重复 使用 PHP 将 HTML CSS 转换为 PDF https stackoverflow com questions 391005 convert html css to pdf with php
  • 在 UITableView 中对齐多个运行时生成的 UILabels

    我有一个UITableView需要通过列出类似的样式来支持内容 But the tricky part is that the amount of Label will vary with each cell some may have o
  • 在 Visual Studio 2015 中从 *.ts 生成 *.js

    当我将 ts 文件添加到 Visual Studio 2015 并对其进行编译时 js 文件不是 ts 的代码隐藏文件 它仅驻留在该文件夹中 而不是 Visual Studio 项目的一部分 这是设计使然还是我破坏了项目中的某些内容 如果是
  • 评估软件最低要求

    有没有办法评估软件的最低要求 我的意思是 我怎样才能发现我的应用程序需要的最小 RAM 量 Thanks 分析器在这里不会为您提供帮助 也不会估计数据结构的大小 探查器当然可以告诉您代码在哪里花费了最多的 CPU 时间 但它不会告诉您是否未
  • 如何从包含联系人详细信息且对象不在电话簿中的对象生成 .vcf 文件

    我想为一个对象生成一个 vcf 文件 其中包含姓名 图像 电话号码 传真号码 电子邮件地址 地址等联系信息 该对象未添加到手机的通讯录中 但存储在我的地址簿中 应用 生成 vcf 文件后 我可以像这样发送此 vcard Intent i n
  • Android 上的自定义字体和自定义 Textview

    从我需要开发的应用程序中 我收到了一种特定字体 其中包含许多文件 例如 FontName Regular 字体名称 粗体 字体名称 我需要在应用程序的所有文本视图中使用它 首先我认为这是一项容易的任务 查看SO并发现一个非常好的线程 her
  • C# Windows 控制台应用程序如何判断它是否以交互方式运行

    用 C 编写的 Windows 控制台应用程序如何确定它是在非交互式环境 例如从服务或计划任务 中调用还是在能够用户交互的环境 例如命令提示符或 PowerShell 中调用 编辑 4 2021 新答案 由于 Visual Studio 调
  • 使用 PyGame 将基于百分比的颜色值从绿色更改为红色

    我正在尝试制作一个健康栏 根据健康百分比将绿色缩放为红色 基本上 我试图使值 0 5 对应于 255 255 0 值 1 0 对应于 0 255 0 值 0 0 对应于 255 0 0 我看见这个帖子 https stackoverflow
  • 如何使用 cmake 编译 MPI 包含的 c 程序

    我正在尝试将 openmp 和 mpi 技术应用于需要构建 cmake make 的开源 C 程序 我已经找到了如何在 CMake 的 try compile 函数中设置 OpenMP 的链接器标志 https stackoverflow
  • 在 PostgreSQL 中使用 r sf::st_write 到非公共模式

    我正在尝试将空间表写入不是 PostgreSQL 数据库中默认公共模式的模式 library sf library DBI library RPostgreSQL library spData PostgreSQL DB parameter
  • 为什么我收到此错误警告:空感知操作的操作数“??”具有排除 null 的“Color”类型

    我正在使用这个包 flutter datetime picker 1 5 1 这是我的代码 String date Please pick Age Widget buildage return Column crossAxisAlignme
  • 根据另一个单元格的数值更改 x 个单元格的颜色

    I have range and i want to highlight my range of cells based value i enter in cell Range C5 If i enter 5 in cell C5 then
  • RPScreenRecorder stopRecording 块没有被调用

    我已经进行了足够的搜索 但未能找到解决方案 我正在使用 ReplayKit 来录制我的应用程序的屏幕 我已开始通过调用录制屏幕 let sharedRecorder RPScreenRecorder shared sharedRecorde
  • 通过多索引选择

    我有两个数据框 df a pd DataFrame data A B C A1 B1 C1 columns first secound third df a set index first secound inplace True df b
  • Java语言检测

    实际上 我正在使用 java 语言检测来检测文本语言 但出现以下错误 Exception in thread main java lang IllegalAccessError tried to access field com cyboz
  • 如何在 QML 上使用 JavaScript 库

    我在 5 12 2 上使用一些带有 QML 的 javascript 库 其中一些像 Proj4JS 一样工作 但我在使用时遇到错误地理库 js https geographiclib sourceforge io scripts geog
  • 如何在不同区域设置中对日期对象进行 strftime? [复制]

    这个问题在这里已经有答案了 我在 python 中有一个日期对象 我需要使用 a 工作日 和 b 月份 代码在旧系统的 C 语言环境中生成时间戳 但是 我不想更改应用程序的区域设置 因为其他部分需要尊重用户当前的区域设置 有没有办法在特定区