JS实现IOS标准时间(JSON时间格式)格式转yyyy-mm-dd格式

该篇文章介绍了如何使用JavaScript编写一个函数,将iOS设备上常见的时间格式转换为yyyy-mm-dd格式,示例代码展示了处理空值和两位数日期的逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS实现IOS时间格式转yyyy-mm-dd格式

/**
 * IOS时间格式转yyyy-mm-dd格式
 *@param iosDate [IOS时间格式]
 *@return {string} [yyyy-mm-dd]
 **/
const convertIOSDateFormat = (iosDate) => {
  if(!iosDate) {
    return '-';
  }
  const date = new Date(iosDate);
  const year = date.getFullYear();
  let month = date.getMonth() + 1;
  let day = date.getDate();

  if (month < 10) {
    month = `0${month}`;
  }
  if (day < 10) {
    day = `0${day}`;
  }

  return `${year}-${month}-${day}`;
}
### 将JSON格式时间数据转换为Unix时间戳 对于不同编程语言和环境,将JSON中的时间字符串转换为Unix时间戳的方法有所不同。以下是几种常见方式: #### Golang 实现 在Golang中可以先解析RFC3339标准下的时间字符串再将其化为Unix时间戳。 ```go package main import ( "fmt" "time" ) func main() { strDate := "2023-10-05T14:48:32Z" // 假设这是来自JSON的日期字符串 t, err := time.Parse(time.RFC3339, strDate) if err != nil { fmt.Println(err) return } unixTimestamp := t.Unix() fmt.Printf("The unix timestamp is %d\n", unixTimestamp) } ``` 此方法适用于当JSON对象内含有遵循`time.RFC3339`格式时间字段的情况[^1]。 #### C#实现 如果是在.NET环境中操作,则可以通过自定义JsonConverter来处理特定于应用逻辑的需求;例如,在反序列化过程中自动完成这种转换工作。 ```csharp public class UnixDateTimeConverter : JsonConverter<DateTime> { public override void WriteJson(JsonWriter writer, DateTime value, JsonSerializer serializer) { var ts = new DateTimeOffset(value.ToUniversalTime()).ToUnixTimeSeconds(); writer.WriteValue(ts); } public override DateTime ReadJson(JsonReader reader, Type objectType, DateTime existingValue, bool hasExistingValue, JsonSerializer serializer) { long secondsSinceEpoch = Convert.ToInt64(reader.Value); return DateTimeOffset.FromUnixTimeSeconds(secondsSinceEpoch).UtcDateTime; } } ``` 这段代码展示了如何创建一个用于读取和写入Unix时间戳转换器,并且可以在类成员上标记以指示应使用该转换器进行序列化/反序列化的属性[^2]。 #### Objective-C (iOS) 实现 针对Objective-C(通常应用于iOS开发),可利用苹果官方提供的API来进行精确无误的时间计算。 ```objectivec #import <Foundation/Foundation.h> // ... NSString *jsonDateString = @"2023-10-05T14:48:32Z"; // JSON 中获取到的时间字符串 NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; NSTimeZone* gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; [formatter setTimeZone:gmt]; NSDate *dateFromJSON = [formatter dateFromString:jsonDateString]; if (!dateFromJSON) { NSLog(@"Failed to parse the date."); } else { NSTimeInterval unixTimestamp = [dateFromJSON timeIntervalSince1970]; NSLog(@"Converted UNIX Timestamp:%f", unixTimestamp); } ``` 上述例子说明了怎样通过设置正确的日期格式并调用相应函数得到Unix时间戳值[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值