在java中获取日期的星期几的一个字母缩写

2024-01-10

据我所知,在Java中我可以以正常(星期五)或短模式(星期五)获得工作日。但是,有什么办法只获取第一个字母呢?

我以为我可以使用“子字符串”获得第一个字母,但它不适用于所有语言。例如,西班牙语工作日为:Lunes、Martes、Miércoles、Jueves、Viernes、Sábado 和 Domingo,“Miércoles”的第一个字母是 X 而不是 M,以区别于“Martes”。


在 Android 中,您可以将 SimpleDateFormat 与“EEEEE”一起使用。在下一个示例中您可以看到它。

SimpleDateFormat formatLetterDay = new SimpleDateFormat("EEEEE",Locale.getDefault());
String letter = formatLetterDay.format(new Date());

编辑:实际上并不完全正确。 Android 上的结果可能不止一个字母(而且也不是唯一的,如果这很重要的话),但这就是我们所拥有的。以下证据表明,在 Android 上遍历所有区域设置无法获得这些特征。它是用 Kotlin 编写的,但当然也应该适用于 Java:

val charCountStats = SparseIntArray()
Locale.getAvailableLocales().forEach { locale ->
    val sb = StringBuilder("$locale : ")
    val formatLetterDay = SimpleDateFormat("EEEEE", locale)
    for (day in 1..7) {
        val cal = Calendar.getInstance()
        cal.set(Calendar.DAY_OF_WEEK, day)
        val letter: String = formatLetterDay.format(cal.time)
        charCountStats.put(letter.length, charCountStats.get(letter.length, 0)+1)
        sb.append(letter)
        if (day != 7)
            sb.append(',')
    }
    Log.d("AppLog", "$sb")
}
Log.d("AppLog", "stats:")
charCountStats.forEach { key, value ->
    Log.d("AppLog", "formatted days with $key characters:$value")
}

结果是,在大多数情况下,它确实是一个字母,但对于许多情况来说,它更多,甚至可以达到 8 个字符(尽管它可能看起来更少,甚至一个):

formatted days with 1 characters:4889
formatted days with 2 characters:471
formatted days with 3 characters:99
formatted days with 4 characters:58
formatted days with 5 characters:3
formatted days with 8 characters:3

显示为 3 个字母(而不仅仅是 3 个字母)的区域设置示例是“wo”(“Wolof”语言),因为这是使用上述格式的一周中每一天的结果:

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

在java中获取日期的星期几的一个字母缩写 的相关文章

  • CheckedTextView 的中心文本和复选标记

    我实现的布局如下图所示 我使用的代码是
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • android:widgetLayout 和 android:layout 之间的区别?

    我得到一些奇怪的配置 其中 widgetLayout 配置列表项的内部空间 而布局配置整个项目列表和屏幕背景 有人能真正解释一下什么是 widgetLayout 吗 android layout 整个首选项的布局 包括标题 摘要和小部件 a
  • 使用 Asp.Net 的 GCM 推送通知

    正如您可能已经看到的 Google 正在迁移其推送通知系统 http developer android com guide google gcm c2dm html http developer android com guide goo
  • 即使获得平台签名也无法读取系统文件

    我已经构建了一个自定义 Android ROM 我已经使用平台签名签署了我的应用程序并添加了android sharedUserId android uid system 在清单文件中 我的应用程序被授予所有 签名 和 系统 级别权限 但不
  • android studio logcat 中字母的含义是什么? [复制]

    这个问题在这里已经有答案了 在 android studio 中运行应用程序时 会生成 logcat 并且每行的开头都有字母 这些字母的含义是什么 这些字母表用于各种日志选项 请参阅此链接 日志选项 https developer andr
  • Java G1 GC 处理引用对象运行缓慢

    我已经在 J ava 上运行了计数器 它24小时工作 每秒点击通过100次左右 白天 GC 处理时间从 20 60 毫秒缓慢上升到 10000 60000 毫秒 然后下降到 20 60 毫秒 这种模式不时地重复 从 GC 日志中我发现 GC
  • 如何增加颤振中切屑的宽度

    我想增加宽度Chip 我怎样才能实现这个目标 Chip elevation 6 0 backgroundColor Colors white shape RoundedRectangleBorder borderRadius BorderR
  • java 属性文件作为枚举

    是否可以将属性文件转换为枚举 我有一个包含很多设置的属性文件 例如 equipment height equipment widht equipment depth and many more like this and not all a
  • getViewByID 对于 Listview 返回 null

    我的 main xml 如下
  • 在 PHP 中设置通知的 FCM 通道 ID

    我正在尝试使用 PHP 向 Android 设备发送 FCM 通知 我的代码适用于 Android O 之前的设备 在Android O中 我们还需要在请求中设置通道ID来接收通知 我不知道该怎么做 我已在应用程序中完成了必要的设置 并使用
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • 当容器大小更改时,JTable 仅调整选定列的大小

    对于面板内的 JTable 如果面板变大 我如何将额外的空间仅分配给某些列 在我的例子中 分配给最后一列 尽管提供 第 3 4 列和8 将获得额外的空间 我想允许用户手动更改所有列的列大小 我尝试了 table setAutoResizeM
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • Android 中的字符串加密

    我正在使用代码进行加密和加密 它没有给出字符串结果 字节数组未转换为字符串 我几乎尝试了所有方法将字节数组转换为字符 但没有给出结果 public class EncryptionTest extends Activity EditText
  • Android同步onSensorChanged?

    这是我的问题的后续 Android线程可运行性能 https stackoverflow com questions 36395440 android thread runnable performance 我在理解应用程序的同步方法时遇到
  • JDK 7 的快速调试/调试构建

    我正在寻找 JDK 的调试 或者我猜他们称之为快速调试构建 以启用在运行时生成的打印程序集以及查找性能问题时所需的其他诊断 就目前情况而言 我似乎找不到可以直接使用的 现成的 快速调试构建二进制包 有人可以帮我提供下载链接 或者至少提供有关
  • 如何在Java中跨类共享变量,我尝试了静态不起作用

    类 Testclass1 有一个变量 有一些执行会改变变量的值 现在在同一个包中有类 Testclass2 我将如何访问 Testclass2 中变量的更新值 由 Testclass1 更新 试过这个没用 注意 Testclass1和Tes
  • 从 Android 中的过渡动画中排除 BottomNavigation

    我一直在四处寻找 但找不到有助于解决这个特定问题的答案 我的应用程序有一个自定义滑入 滑出效果 如下所示 Intent intent new Intent getApplicationContext MyActivity class sta
  • 如何使用 Spring AOP 建议静态方法?

    在执行类的静态方法之前和之后需要完成一些日志记录 我尝试使用 Spring AOP 来实现这一点 但它不起作用 而对于正常方法来说它起作用 请帮助我理解如何实现这一点 如果可以使用注释来完成 那就太好了 也许您应该在使用 Spring AO

随机推荐