如何在电报即时视图中使用@datetime 功能?

How to use @datetime function in telegram instant view?

我正在尝试设置电报即时视图。我遇到函数 datetime @datetime 的问题,我查看了 official documentation.

我有以下日期Jul 19, 2018 at 2:25pm。如果我们在日期的同一年,字符串将不包含年份 ex:Jul 19 at 2:25pm 表示今年 7 月 19 日。我该如何处理失踪的一年?

到目前为止,这是我的代码。

@datetime(-2, "en-US", "LLL d 'at' k:mm"): "Jan 25 at 2:44pm"
published_date: $@

#manage the current year case
@datetime(0, "en-US", "LLL d, YYYY 'at' k:mma"): "Jan 25, 2018 at 2:44pm"
published_date: $@

到目前为止,缺失的年份没有得到妥善管理。这样年份总是1970.

算法如下:

  1. 尝试解析YYYY里面的日期
  2. 如果失败,$pubslished_date 将包含 0 或一些垃圾(尝试 @debug 它)。所以你可以使用像 @if_not( $published_date ) { ... } 这样的东西,你可以在没有 YYYY 的情况下尝试解析日期。不要忘记使用 published_date!: ….
  3. 强制重新定义变量

如果这不起作用,请尝试使用条件绑定:pubslihed_date?: …。它具有相同的逻辑。 (只是在您当前代码的第二个绑定中添加一个问号 ?)。