标签: date-formatting

设备当前区域设置后的格式化日期和时间

我有一个NSDate对象,我从中创建两个NSStrings:日期和时间.目前我将日期格式设置为20111031,时间格式为23:15.

我想要做的是将其格式化为设备(iPhone,iPad,iPod Touch)当前区域设置(不是语言!).例如:

  • 设置为美国地区的设备将显示(从我的头顶)10.31.11和时间晚上11:15
  • 设置为荷兰地区的设备将显示:2011年10月31日和时间23.15
  • 设置为瑞典地区的设备将显示:2001-10-31和时间23:15

我怎样才能做到这一点?

localization nsdate date-formatting ios

7
推荐指数
2
解决办法
2万
查看次数

带有阿拉伯语语言环境的 moment.js 年/数字格式

我正在使用带有阿拉伯语语言环境 (ar_SA) 设置的 moment.js 格式化日期。

moment.locale('ar_SA');
moment([2016,05,01]).format('MMM YYYY');
//output ???? ????
Run Code Online (Sandbox Code Playgroud)

我想只使用语言环境格式化月份部分,但用英语格式化年份,例如:“???? 2016”(与使用角度过滤器格式化时相同:| date:'MMM yyyy')

有没有办法配置 moment.js 以自动执行此操作?(而不是拆分月份和年份格式并简单地将 2016 连接到 .format('MMM'))

javascript date-formatting angularjs momentjs

6
推荐指数
2
解决办法
6039
查看次数

Python 中的字符串到日期格式为 DD/MM/YYY - 葡萄牙语

我想将字符串“23/02/2018”转换为日期格式 23-fev-2018。

最重要的是,月份必须是葡萄牙语,指的是fevereiro。

我的问题是 datetime.date 通常打印为 (YYYY,MM,DD):

import datetime 
datestr = "23/02/2018" 
dateobj = datetime.datetime.strptime(datestr, "%d/%m/%Y")
print dateobj #year, month, day
Run Code Online (Sandbox Code Playgroud)

如何从 23/10/2017 的字符串打印到 23-out-2017 的日期格式,指的是葡萄牙语中的“outubro”月?

windows locate date-formatting python-3.x

6
推荐指数
1
解决办法
1140
查看次数

为什么使用带有 YYYY 模式的 DateTimeFormatter 格式化日期会给出错误的年份?

在错误的年份使用DateTimeFormatter(使用下面的模式)LocalDate结果。

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

DateTimeFormatter format = DateTimeFormatter.ofPattern("MM-d-YYYY");
LocalDate date = LocalDate.of(2018, 12, 31);

date.format(format); // returns 12-31-2019 (expected 2018)
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?

java time date-formatting

6
推荐指数
1
解决办法
1565
查看次数

C# 格式 DateTime 没有年份

是否有可能在没有年份和月份的情况下以国际化的数字表示形式格式化 DateTime?

例如 new DateTime(2018, 8, 10) (今天)

一方面,我们有“d”代表10.08.2018(德语)或2018/08/10(日语)。

另一方面,我们有“M”给我们10. August(德语)或August 10(美国英语)

但我想要的是10.08.(德语)、08/10(日语)、8/10(美式英语)、10/08(英式英语)

c# datetime internationalization date-formatting

6
推荐指数
1
解决办法
2010
查看次数

JavaScript Date toLocaleDateString 日期时间格式列表

在哪里可以找到Date.prototype.toLocaleDateString格式的官方列表?它没有从该 MDN 页面链接,并且这个措辞混乱的问题的可接受答案列出了一组不同的格式。CLDR 数据库很难使用。

我想要的是一张简单的地图,如下所示:

const date = new Date();
for (const locale of ['en-US', 'en-GB', 'en-CA'])
  console.log(locale, '=>', date.toLocaleDateString(locale, {  }));
Run Code Online (Sandbox Code Playgroud)

{ month: 'short' }通过而不是空选项对象可以获得奖励积分。

javascript locale internationalization date-formatting

6
推荐指数
1
解决办法
7626
查看次数

如何在 Java 中以语言环境正确的顺序格式化日和月?

有没有办法在 Java/Kotlin 中以正确的语言环境顺序格式化日期和月份(以紧凑形式)而不是年份?所以对于英语应该是“Sep 20”,但对于瑞典语应该是“20 sep.”。

为了比较,在 Cocoa 平台上,我可以执行以下操作(在 Swift 中):

let formatter = DateFormatter()
formatter.locale = Locale(identifier: "sv_SE")
formatter.setLocalizedDateFormatFromTemplate("MMM d")
print(formatter.string(from: Date()))
Run Code Online (Sandbox Code Playgroud)

这将正确地扭转局面。Java SDK 是否有相同的功能?我一直在尝试各种形式DateTimeFormatterSimpleTimeFormatAPI和旧API,但没有成功。

注意:此问题不同,我不想要包含年份的完整媒体格式。我也不想要DateTimeFormatter.ofPattern("MMM d"),因为这在瑞典语中给出了不正确的结果,或者DateTimeFormatter.ofPattern("d MMM"),因为在英语中给出了不正确的结果。

java localization date-formatting

6
推荐指数
1
解决办法
1318
查看次数

Power BI:将文本 (yyyymmdd) 转换为日期 (dd/mm/yyyy)

我特别尝试使用 Power BI 中的 Power Query 编辑器将A 列中的字符串:转换yyyymmdd为日期格式。dd/mm/yyyy我已经可以使用下面的公式在 Excel 中执行此操作:任何想法

Excel

=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
Run Code Online (Sandbox Code Playgroud)

excel date date-formatting powerquery powerbi

6
推荐指数
2
解决办法
7万
查看次数

Swift DateIntervalFormatter:即使间隔跨越多天,也将日期保留在字符串之外

我正在尝试格式化时间间隔。我想要一个看起来像这样的结果:

\n\n
10:45 - 12:00 AM\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以使用以下方法非常接近这一点DateInvervalFormatter

\n\n
let cal = Calendar.current\nlet formatter = DateIntervalFormatter()\nformatter.dateStyle = .none\nformatter.timeStyle = .short\nlet start = Date()\nlet end = cal.date(byAdding: .hour, value: 1, to: start)\nformatter.string(from: DateInterval(start: start, end: end!))\n
Run Code Online (Sandbox Code Playgroud)\n\n

上面的内容(在 en_US 语言环境中)将产生如下输出:

\n\n
5:27\xe2\x80\x89\xe2\x80\x93\xe2\x80\x896:27 PM\n
Run Code Online (Sandbox Code Playgroud)\n\n

看起来不错吧?但是,如果间隔中的两个日期位于不同日期,则此方法不起作用。例如:

\n\n
let formatter = DateIntervalFormatter()\nformatter.dateStyle = .none\nformatter.timeStyle = .short\nlet startComponents = DateComponents(year: 2020, month: 1, day: 1, hour: 23, minute: 45)\nlet start = cal.date(from: startComponents)\nlet end = cal.date(byAdding: .hour, value: 1, to: start!)\nformatter.string(from: DateInterval(start: …
Run Code Online (Sandbox Code Playgroud)

date-formatting swift

6
推荐指数
1
解决办法
1404
查看次数

当我将 LocalDate 格式化为 dd.MMM.YYYY 时,我得到 01.Jan..2000,带有两个点

我正在尝试将LocalDate变量格式化为dd.MMM.YYYY

DateTimeFormatter.ofPattern("dd.MMM.yyyy")
Run Code Online (Sandbox Code Playgroud)

问题是,超过一半的时间我得到两个点。例如01-01-2000转到01.Jan..2000.

我知道为什么我会遇到这个问题,因为这三个Ms。当我使用时dd.MM.yyyy,我没有01.01.2000问题。第三M是问题。

我怎样才能解决这个问题?

java date-formatting java-time

6
推荐指数
1
解决办法
3903
查看次数