Nir*_*ole 4 javascript date angularjs
嗨,我正在 Angularjs/JavaScript 中开发 Web 应用程序。我有一个日历选择器,我正在从前端捕获日期。在数据库中保存所选日期时,我想以回历格式保存。我遵循将公历日期转换为回历日期,当我在 writeIslamicDate 中传递 1 时它工作正常。例如:
var today=new Date();
writeIslamicDate(today);
Run Code Online (Sandbox Code Playgroud)
如果我通过今天的日期那么它给了我undefined, NaN undefined NaN AH所以我可以知道在将输入传递给 writeIslamicDate 之前我是否需要转换为任何格式?有人可以帮助我吗?任何帮助,将不胜感激。谢谢你。
您可以使用 moment-hijri.js 它是一个强大的库来转换日期
moment('2014-11-28 16:40:00', 'YYYY-M-D HH:mm:ss').endOf('iMonth').format('iYYYY/iM/iD HH:mm:ss'); // 1436/2/30 23:59:59
Run Code Online (Sandbox Code Playgroud)
您所需要的只是对链接的功能稍作调整。要允许输入日期进行可选调整,您需要允许传入日期,因此进行以下更改:
function writeIslamicDate(adjustment) {
...
var iDate = kuwaiticalendar(adjustment);
Run Code Online (Sandbox Code Playgroud)
到
function writeIslamicDate(date, adjustment) {
...
var iDate = kuwaiticalendar(date, adjustment);
Run Code Online (Sandbox Code Playgroud)
和
function kuwaiticalendar(adjust) {
var today = new Date();
Run Code Online (Sandbox Code Playgroud)
到:
function kuwaiticalendar(date, adjust) {
var today = date || new Date();
Run Code Online (Sandbox Code Playgroud)
并用日期或不调用它。下面是完整的修改代码(清理了一点)。也可以试试toLocaleString带选项,不仅可以转换成伊斯兰历,还可以使用宿主的默认语言。
function writeIslamicDate(adjustment) {
...
var iDate = kuwaiticalendar(adjustment);
Run Code Online (Sandbox Code Playgroud)
使用toLocaleString您可以执行以下操作。
function writeIslamicDate(date, adjustment) {
...
var iDate = kuwaiticalendar(date, adjustment);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8025 次 |
| 最近记录: |