字符串 时间格式之间互转

//将时间转字符串
-(NSString *)nowString
{
   
NSDateFormatter *formatter = [[NSDateFormatteralloc] init];
    [formatter
setDateFormat:@"M-d hh-mm-ss"];
   
return [formatter stringFromDate:[NSDatedate]];
}
-(
NSString *)transTimeStr{
//将字符串转为日期
    NSDateFormatter *dateFormat1 = [[NSDateFormatteralloc] init];
    [dateFormat1
setTimeZone:[NSTimeZonetimeZoneWithAbbreviation:@"zyc"]];
   
//先设置给定的字符串是什么格式的例如yyyyMMddHHmmss
    [dateFormat1
setLocale:[NSLocalecurrentLocale]];
    [dateFormat1
setDateFormat:@"yyyyMMddHHmmss"];
    [dateFormat1
setFormatterBehavior:NSDateFormatterBehaviorDefault];
   
   
NSDate *date1 = [dateFormat1 dateFromString:@"20000101111111"];
   
   
//将日期转为指定格式
   
NSDateFormatter *dateFormat2 = [[NSDateFormatteralloc] init];
    [dateFormat2
setTimeZone:[NSTimeZonetimeZoneWithAbbreviation:@"zyc"]];
    [dateFormat2
setLocale:[NSLocalecurrentLocale]];
   
//NSDate格式时间转成什么格式的字符串例如转成M-d
    [dateFormat2
setDateFormat:@"yyyy-MM-dd HH/mm/ss"];
    [dateFormat2
setFormatterBehavior:NSDateFormatterBehaviorDefault];
   
   
NSString *timeStr = [dateFormat2 stringFromDate:date1];
   
return  timeStr;
   
}
可以使用 JavaScript 中的 Date 对象和字符串的处理函数来进行字符串和日期之间互转。 例如,将一个日期对象化成指定格式的字符串,可以使用以下函数: ```javascript function formatDate(date, format) { const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); const hour = date.getHours(); const minute = date.getMinutes(); const second = date.getSeconds(); return format .replace('yyyy', year) .replace('MM', (month < 10 ? '0' : '') + month) .replace('dd', (day < 10 ? '0' : '') + day) .replace('HH', (hour < 10 ? '0' : '') + hour) .replace('mm', (minute < 10 ? '0' : '') + minute) .replace('ss', (second < 10 ? '0' : '') + second); } ``` 这个函数使用了一个格式化字符串,其中包含了年、月、日、小时、分钟和秒的占位符。函数将这些占位符替换成对应的日期或时间部分,并返回最终的字符串。 例如,以下代码将一个日期对象化为 `2021-12-01 15:30:00` 这种格式的字符串: ```javascript const date = new Date('2021-12-01T15:30:00Z'); const formattedDate = formatDate(date, 'yyyy-MM-dd HH:mm:ss'); console.log(formattedDate); // 输出:2021-12-01 15:30:00 ``` 反过来,将一个指定格式的字符串化为日期对象,可以使用以下函数: ```javascript function parseDate(str, format) { const yearIndex = format.indexOf('yyyy'); const year = parseInt(str.substr(yearIndex, 4)); const monthIndex = format.indexOf('MM'); const month = parseInt(str.substr(monthIndex, 2)) - 1; const dayIndex = format.indexOf('dd'); const day = parseInt(str.substr(dayIndex, 2)); const hourIndex = format.indexOf('HH'); const hour = parseInt(str.substr(hourIndex, 2)); const minuteIndex = format.indexOf('mm'); const minute = parseInt(str.substr(minuteIndex, 2)); const secondIndex = format.indexOf('ss'); const second = parseInt(str.substr(secondIndex, 2)); return new Date(year, month, day, hour, minute, second); } ``` 这个函数接受一个日期字符串和一个格式化字符串作为参数。函数根据格式化字符串的格式,从日期字符串中提取出对应的值,然后使用这些值创建一个新的 Date 对象。 例如,以下代码将一个 `2021-12-01 15:30:00` 格式的字符串化为对应的日期对象: ```javascript const dateString = '2021-12-01 15:30:00'; const format = 'yyyy-MM-dd HH:mm:ss'; const date = parseDate(dateString, format); console.log(date); // 输出:Wed Dec 01 2021 15:30:00 GMT+0800 (中国标准时间) ``` 需要注意的是,这两个函数都假设输入的日期字符串符合指定的格式,否则可能会出现错误。因此,在使用这两个函数时,需要确保输入的字符串格式正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值