时间,数字,货币国际化展示方案

国际化项目开发中关于时间的问题一 在上述代码中,我们生成了东八区晚上九点的时间,然后转换为时间戳,最后将这个时间戳转换为东十区的时间。时区转换1:时间是分时区的,如果把【时间戳】转【时间】,需要把时区加进去,同理,【时间】转【时间戳】时,也需要把时区加进去。时间与时区关系:时区决定了本地时间与UTC时间的偏移量。时间戳:不区分时区,表示自1970年1月1日00:00:00 UTC以来的秒数或毫秒数。时区转换2:将时间戳转换为可读时间时,需要考虑时区,以便正确显示本地时间。东八区时间: 2023-06-01 21:00:00 +0800。 阅读详情

1.时间,数字国际化方案简单介绍

什么是时间数字国家化?

首先大前提是,全世界各个国家的时间,或数字的展示习惯是不同的
比如:同样是2022年12月1日
在美国他们喜欢把年放前面,也就是:12月1日2022年
法国喜欢把日放前面:1日12月2022年
如果在法国地区展示时间跟国内一样的顺序,法国人就会很不舒服,就像咱们现在看法国的时间顺序一样,能看懂,但是不得劲儿。

所以有全球化项目的需求时,时间的展示规则就很重要。

但是如果我们自己去做这种适配,不同地区不同国家,甚至一个app内不同的场景都自己写规则那显然是不现实的。

好在前人种树,后人乘凉

IBM公司联合Google,Apple等公司,搞了一套基于Unicode和CLDR的国际化组件。

根据各地的风俗和语言习惯,实现对数宇、货币、时间、日期、和消息的格式化、解析,对宇符串进行大小写转换、整理、搜索和排序等功能,ICU提供了强大的Bidi算法,对阿拉伯语等Bidi语言提供了完善的支持。

我们来看一下这套东西在Android平台怎么用,目前本文档支持时间,货币和数字的展示,因为别的我也没用上。

首先
Android 7.0以上系统提供了icuj的支持库,7.0一下需要倒入ibm的icu4j库

implementation("com.ibm.icu:icu4j:71.1")

ibm官方
Android官方

时间格式的使用

SimpleDateFormat.getPatternInstance(regulation1).format(date)

getPatternInstance方法会根据我们传进去的参数公式来输出时间,但是会根据本地的习惯调整一些顺序之类的。

货币格式化使用

国家货币码表

    val money = 1111L
    val formater = NumberFormat.getCurrencyInstance()
    formater.currency = Currency.getInstance("USD")
    val text = formater.format(money)

Currency.getInstance("USD")的参数可以不填,这样他会自动获取默认的国地区的货币展示样式,但是货币展示不建议这样做,因为货币展示还是要严谨,不然货币单位出了问题,乌龙了麻烦可大了。

数字格式展示

  NumberFormat.getNumberInstance().format(this)

数字的比较简单,这样就可以按照默认的国家地区习惯来给数字添加分隔符.

这些方法在使用时注意添加try catch 因为会有手机报错,我遇到了亚马逊的手机一旦用到了这些都会崩溃,而且用户手机版本是7.0以上。

浙大文武:数字经济与数字货币 嘉宾介绍:文武,浙江大学教授,国际电联法定数字货币焦点前主席。文武教授的报告主要围绕金融科技技术如何为数字经济、实体经济服务开展,从计算机的角度解释货币形态的改变,技术在货币形态的改变中... 阅读详情

相关推荐

HOW - 前端国际化之多语言通用方案

你知道前端国际化吗?你知道国际化和多语言的概念吗?你知道如何设计一个前端多语言最佳实践吗,实现提升页面加载速度、用户无感切换语言吗?以及我们可以在繁重的翻译工作上做什么优化?

weixin_58540586的博客 2280

【分享】时间国际化落地和经验分享

显示时间跟存储时间分离前端通过用户当地时区转换时间戳后端定时任务直接用时间戳服务直接交互用时间戳/时区和时间。

码农阿福的博客 1535

前端国际化实践指南

国际化是为了让应用能够适应不同的国家和地区,从而提供更好的用户体验。国际化不仅涉及语言翻译,还包括日期、时间、货币格式等方面的处理。国际化是构建全球化前端应用的重要步骤,通过实现多语言支持、日期和时间格式化、货币和数字格式化等功能,我们可以提供更好的用户体验。在本篇博客中,我们介绍了前端国际化的基本概念和实践指南,并使用i18next库演示了如何实现国际化的前端应用。希望本篇博客对您理解和实践前端国际化有所帮助。

斌擎科技 296

android 日期国际化,Flutter 日期时间选择类控件及国际化

注意:无特殊说明,Flutter版本及Dart版本如下:Flutter版本: 1.12.13+hotfix.5Dart版本: 2.7.0DatePickerFlutter并没有DatePicker这个控件,需要使用showDatePicker方法弹出日期选择控件,基本用法如下:RaisedButton(onPressed: () async {var result = await showDate...

weixin_42596214的博客 310

【微服务】SpringBoot 国际化适配方案使用详解

SpringBoot 国际化使用详解

congge 9731

国际化和本地化(i18n和l10n):数字与货币的本地化表示.docx

国际化和本地化(i18n和l10n):数字与货币的本地化表示.docx

Java编程入门与应用 P140——演示DateFormat(DateFormat 名字 = DateFormat.getDateInstance();)

Java编程入门与应用 P140——演示DateFormat 基础格式: DateFormat 名字 = DateFormat.getDateInstance(); //用于构建实例 import java.text.DateFormat; import java.util.Date; import java.util.Locale; /** * Java编程入门与应用 P140——演示DateFormat * * 基础格式: * DateFormat 名字 =

乖珑珑的博客 406

手把手教你用vLLM在昇腾910B上部署Qwen3-Embedding-8B模型(保姆级避坑指南)

本文详细介绍了如何在昇腾910B芯片上使用vLLM推理引擎部署Qwen3-Embedding-8B模型的全流程,包括环境准备、vLLM-ascend定制化安装、模型获取与校验、环境变量配置、服务启动参数优化、性能压测及生产级部署建议。特别针对昇腾生态的开发者,提供了保姆级的避坑指南和实用技巧,帮助实现高效稳定的模型部署。

weixin_28726671的博客 465

【日期、时间、数字、货币本地化】

Intl是浏览器内置的国际化接口,各大主流浏览器均支持,它的很多用法可以自行google,注意语言参数不能用下划线,时间戳需要传毫秒级时间戳。

NGY198888的博客 243

利用BMC和KVM远程安装联想服务器Ubuntu 22.04的完整指南

本文提供了一份详尽的指南,介绍如何利用联想服务器的BMC(基板管理控制器)和KVM(键盘、视频、鼠标)重定向功能,远程安装Ubuntu 22.04 LTS操作系统。内容涵盖从准备工作(如获取BMC信息、配置Java环境)、登录BMC并启动远程控制台,到挂载ISO镜像、设置引导以及完成Ubuntu安装与后续配置的全过程。该方法能极大提升服务器部署与运维效率,尤其适用于无法物理接触服务器的场景。

p8q9r0的博客 623

华为防火墙介绍和原理,配置详细解析

在出向外网的流量中,我们使用默认路由来指定默认的出口,并且使用nat地址转换,而在外网中,我们使用ISIS协议来进行路由的学习和更新,让外网可以访问到dmz非军事化区域的server1服务器。并进行NAT转换,实现了内部IP地址和外部IP地址之间的映射,以便内部网络可以与外部网络进行通信。网络地址转换(NAT):防火墙可实现网络地址转换,将内部私有IP地址转换成公共IP地址,以隐藏网络拓扑结构,增加网络安全性。确定安全需求:根据企业的安全需求和策略,确定防火墙的配置目标和规则。

外游者 5098

CU4C字符集检测和转换,C++版本

1.ICUUC简介 ICU4C是ICU在C/C++平台下的版本, ICU(International Component for Unicode)是基于”IBM公共许可证”的,与开源组织合作研究的, 用于支持软件国际化的开源项目。ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题,根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的...

小王的技术窝 1565

如何用Python实现SPEI指数计算?从数据准备到结果可视化完整指南

本文提供了一份完整的Python实现SPEI指数计算指南,涵盖从数据准备、潜在蒸散量计算到结果可视化的全流程。详细介绍了使用Thornthwaite方法计算PET、拟合三参数log-logistic分布以及标准化转换的核心算法,并提供了模块化代码和可视化方案,帮助用户构建可复用的干旱分析工具。

cola5的博客 267

React Aria国际化格式:日期、数字、货币格式化

在现代Web开发中,应用程序往往需要面向全球用户。不同地区的用户有着不同的语言习惯、日期格式、数字表示方式和货币符号。传统的JavaScript国际化API虽然功能强大,但在实际使用中往往存在以下痛点: - **API复杂度高**:原生Intl API配置选项繁多,学习曲线陡峭 - **性能问题**:频繁创建格式化实例会导致性能下降 - **浏览器兼容性**:不同浏览器对Intl API的支持程...

gitblog_00409的博客 1069

三维重建(十三)——多视角重建

本文综述了多视角三维重建技术,涵盖静态和动态场景的重建方法。介绍了从图像获取到纹理映射的SFM流程,以及非刚性重建(NRSFM)的挑战和解决方案。重点探讨了基于可微渲染的重建方法,以及数据采集策略、相机标定和同步技术。文章还讨论了如何用单视角相机模拟多视角重建,总结了关键技术和未来研究方向。

河海大学研究生在读的学习笔记 1058

OpenClaw用户必看:每天0成本使用OpenClaw!NVIDIA NIM免费大模型接入教程

🚀 OpenClaw接入NVIDIA NIM免费API!glm5、minimax-m2.5等大量模型任选,0成本升级AI助手!💰

XiaoqiangClub的博客 5579

Jeecg-Boot前端国际化:日期、数字与货币格式化终极指南

在当今全球化的数字时代,企业应用需要面向全球用户提供服务。Jeecg-Boot作为一款优秀的企业级开发平台,其前端国际化方案为开发者提供了完整的日期、数字与货币格式化解决方案,让您的应用轻松适应不同语言和地区的用户需求。🚀 ## 🌍 为什么需要前端国际化? 随着业务拓展至国际市场,应用需要支持多种语言和地区格式。不同的国家和地区在日期显示、数字表示和货币符号上存在显著差异: - **日期

gitblog_00838的博客 1110

【AUTOSAR-RTE】-1-聊一聊RTE(Run-Time Environment)

RTE(Run-Time Environment)是AUTOSAR ECU架构的核心。

「汽车电子助手」的博客 6502

ES6 国际化与本地化:数字、货币和日期时间格式化终极指南 [特殊字符]

ECMAScript 6 为 JavaScript 带来了强大的国际化与本地化功能,让您的应用能够轻松适应全球市场。通过 Intl API,您现在可以优雅地处理数字、货币和日期时间的格式化需求,无需复杂的第三方库或繁琐的手动处理。🎯 ## 为什么需要国际化与本地化? 在当今全球化的数字世界中,应用程序需要能够适应不同地区和文化的用户。ES6 的 Intl API 提供了标准化的解决方案,让您

gitblog_00368的博客 402

多跳问答技术解析:从原理到金融领域实践

多跳问答(Multi-hop QA)是自然语言处理中的高级任务,要求系统通过多步推理整合分散信息来回答问题。其核心技术在于理解文档间的复杂关联,相比单跳问答需要更精细的数据集设计和模型架构。在金融、医疗等专业领域,多跳问答能有效处理如'腾讯大股东投资的港股上市公司'这类需要串联多个信息点的问题。典型实现方案包括MR-Search框架的三级检索器设计,分别处理实体召回、关系匹配和数值比较。当前最佳实践表明,结合稠密检索与稀疏检索的混合策略,配合动态路由机制,能在保持较高精度的同时控制计算成本。这类技术在金融风

weixin_42566072的博客 606

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SwiftUIX国际化:多语言与区域适配方案

在全球化应用开发中,多语言与区域适配是提升用户体验的关键环节。SwiftUIX作为SwiftUI的扩展库,提供了多种工具和组件简化国际化流程。本文将系统介绍如何利用SwiftUIX实现应用的多语言支持、区域格式适配及动态切换功能,帮助开发者构建面向全球用户的应用。 ## 国际化基础架构 SwiftUIX的国际化架构基于Apple的Localization(本地化)框架构建,通过环境变量和属性包...

gitblog_00359的博客 1037

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

软件开发的国际化设计与实现

目前在软件的开发和设计过程中,对这一方面的工作,都需要具有领域知识的人员来完成,很多时候当人员并不熟悉国际化领域的知识时,便需要预先做很多学习和研究,尤其是对于大型软件的开发项目,从软件设计阶段便引入国际化设计、实现标准和规则以及适用的国际化工具更是一项必须又耗费精力的事情,国际化设计做得是否到位,实现标准和规则做得是否精细,会直接影响到后续软件开发工作的顺利进行以及软件对国际化支持的优劣,中途的修改会浪费大量人力物力,更可能导致程序代码混乱和国际化支持不到位。比如:存储顺序为“汉字。

qq_35980021的博客 1206

数字货币:从“虚拟金库”到法定货币的进化

数字货币是以电子形式存在的替代货币,依托区块链和密码学技术实现去中心化交易。主要分为私人数字货币(如比特币)、稳定币(如USDT)和央行数字货币(如数字人民币)。比特币作为首个数字货币,采用挖矿机制和总量限制设计,但面临价格波动和监管挑战。数字货币在跨境支付、投资和日常消费等领域应用广泛,未来将向更高效、隐私和安全方向发展。各国正加强监管协作,央行数字货币的推广将重塑金融体系。数字货币时代已至,需理性把握机遇与风险。

2401_82363370的博客 1049

前端国际化:别让你的应用变成语言荒漠

前端国际化是一个复杂但必要的任务,尤其是对于面向全球用户的应用。通过使用成熟的国际化库和遵循最佳实践,你可以创建一个支持多种语言和地区的应用,提升用户体验和扩大用户群。别再让你的应用成为语言荒漠了,赶紧开始国际化吧!

大山哥 4165

终极指南:GetX国际化如何让日期、时间和数字自动适配全球用户

在全球化应用开发中,处理多语言、日期格式和数字表示是最令人头疼的任务之一。GetX作为功能强大的Flutter框架,提供了简洁高效的国际化解决方案,让开发者无需编写复杂代码即可实现应用的全球适配。本文将详细介绍如何利用GetX国际化功能,轻松处理日期、时间和数字的本地化转换,为全球用户提供无缝的使用体验。 [![GetX框架Logo](https://raw.gitcode.com/gh_mir

gitblog_00604的博客 387
上一篇: kotlin 好用的功能技巧和踩到的坑
下一篇: 在尝试使用ViewPager2+Fragment组合并实现Fragment懒加载时发现的小神奇
random_7474
博客等级 码龄16年 4粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值