C# 秒数转日期_由秒数得到日期几天几小时_当前日期时间,转换为秒

///<summary>
///由秒数得到日期几天几小时。。。
///</summary
///<param name="t">秒数</param>
///<param name="type">0:转换后带秒,1:转换后不带秒</param>
///<returns>几天几小时几分几秒</returns>
public static string parseTimeSeconds(int t, int type)
{
string r = "";
int day, hour, minute, second;
if (t >= 86400) //天,
{
day = Convert.ToInt16(t / 86400);
hour = Convert.ToInt16((t % 86400) / 3600);
minute = Convert.ToInt16((t % 86400 % 3600) / 60);
second = Convert.ToInt16(t % 86400 % 3600 % 60);
if (type == 0)
r = day + ("day") + hour + ("hour") + minute + ("minute") + second + ("second");
else
r = day + ("day") + hour + ("hour") + minute + ("minute");

}
else if (t >= 3600)//时,
{
hour = Convert.ToInt16(t / 3600);
minute = Convert.ToInt16((t % 3600) / 60);
second = Convert.ToInt16(t % 3600 % 60);
if (type == 0)
r = hour + ("hour") + minute + ("minute") + second + ("second");
else
r = hour + ("hour") + minute + ("minute");
}
else if (t >= 60)//分
{
minute = Convert.ToInt16(t / 60);
second = Convert.ToInt16(t % 60);
r = minute + ("minute") + second + ("second");
}
else
{
second = Convert.ToInt16(t);
r = second + ("second");
}
return r;
}

/// <summary>
/// 当前日期时间,转换为秒
/// </summary>
/// <returns>秒数</returns>
public static string xDateSeconds()
{
long xdateseconds = 0;
DateTime xdatenow = DateTime.UtcNow; //当前UTC时间

long xminute = 60; //一分种60秒
long xhour = 3600;
long xday = 86400;
long byear = 1970;//从1970-1-1 0:00:00开始到现在所过的秒
long[] xmonth = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
long[] xyear = { 365, 366 };
long num = 0;

xdateseconds += xdatenow.Second; //算秒
xdateseconds += xdatenow.Minute * xminute; //算分
xdateseconds += xdatenow.Hour * xhour; //算时
xdateseconds += (xdatenow.Day - 1) * xday; //算天

//算月(月换成天算)
if (DateTime.IsLeapYear(xdatenow.Year))
{
xdateseconds += (xmonth[xdatenow.Month - 1] + 1) * xday;
}
else
{
xdateseconds += (xmonth[xdatenow.Month - 1]) * xday;
}

//算年(年换成天算)
long lyear = xdatenow.Year - byear;

for (int i = 0; i < lyear; i++)
{
if (DateTime.IsLeapYear((int)byear + i))
{
num++;
}
}

xdateseconds += ((lyear - num) * xyear[0] + num * xyear[1]) * xday;

return xdateseconds.ToString();
}

/// <summary>
/// 秒数转日期
/// </summary>
/// <param name="Value">秒数</param>
/// <returns>日期</returns>
public static DateTime GetGMTDateTime(int Value)
{
//秒数转时间日期
//GMT时间从2000年1月1日开始,先把它作为赋为初值
long Year = 2000, Month = 1, Day = 1;
long Hour = 0, Min = 0, Sec = 0;
//临时变量
long iYear = 0, iDay = 0;
long iHour = 0, iMin = 0, iSec = 0;
//计算文件创建的年份
iYear = Value / (365 * 24 * 60 * 60);
Year = Year + iYear;
//计算文件除创建整年份以外还有多少天
iDay = (Value % (365 * 24 * 60 * 60)) / (24 * 60 * 60);
//把闰年的年份数计算出来
int RInt = 0;
for (int i = 2000; i < Year; i++)
{
if ((i % 4) == 0)
RInt = RInt + 1;
}
//计算文件创建的时间(几时)
iHour = ((Value % (365 * 24 * 60 * 60)) % (24 * 60 * 60)) / (60 * 60);
Hour = Hour + iHour;
//计算文件创建的时间(几分)
iMin = (((Value % (365 * 24 * 60 * 60)) % (24 * 60 * 60)) % (60 * 60)) / 60;
Min = Min + iMin;
//计算文件创建的时间(几秒)
iSec = (((Value % (365 * 24 * 60 * 60)) % (24 * 60 * 60)) % (60 * 60)) % 60;
Sec = Sec + iSec;
DateTime t = new DateTime((int)Year, (int)Month, (int)Day, (int)Hour, (int)Min, (int)Sec);
DateTime t1 = t.AddDays(iDay - RInt);
return t1;
}

把总秒数转换成DataTime格式,注意时区,默认是格林威治时间GMT

DateTime dt = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime().AddSeconds(info.lTime);
uploadtime.Text = string.Format("{0:F}", dt);
时间: 2024-11-13 06:16:58

C# 秒数转日期_由秒数得到日期几天几小时_当前日期时间,转换为秒的相关文章

提示用户输入一个时间的秒数,比如500秒就输入500,然后输出对应的分钟和秒,比如500s就是8分钟20秒

#include <stdio.h> /* */ int main() { /* // 将c的值固定在10以内 int a = 96546546; int c = a % 10; */ // 1.提示用户输入时间 printf("请输入一个时间值(秒):\n"); // 2.接收用户输入的时间 int time; scanf("%d", &time); // 3.转换成对应的分钟和秒 int minute = time / 60; // 分钟 i

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part

java 获取两个日期相差的毫秒数

方法一可以使用date的getTime()方法来将当前日期格式的时间转换为毫秒数,进而相减. long systime = new Date().getTime();//当前系统时间        long oldtime = old.getTime();//相比较的时间        Long time = (systime - oldtime);//相差毫秒数 方法二则使用calendar 的getTimeInMillis() 方法来将当前日期格式的时间转换为毫秒数. Calendar no

Swift教程_基础技术_获取当前日期时间、日期时间格式化及转换

Swift教程_基础技术_类型转换(父子类转换:Int.Double.String转换) Swift教程_基础技术_获取当前日期时间.日期时间格式化及转换 1.获取当前日期时间 var nowDate = NSDate() var formatter = NSDateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss" var dateString = formatter.stringFromDate(nowDate) pri

时间的秒值和正常的时间格式转换

////  时间的秒值和正常的时间格式转换.h//  IOS笔记////  Created by 刘威成 on 15/12/8.//  All rights reserved.// // TargetTime是获取时间的秒值转换成我们常见的时间格式 for (int i = 0; i <dataArr.count; i++) {        NSString *str =  [ NSString stringWithFormat:@"%@",[dataArr objectAtI

略时间中秒的部分,使时间中的秒变成0

用本地通知实现闹钟时,本地通知是精确到秒的.在实现时,需要省略掉时间中秒的部分. 自己想到下面的方法,感觉还是挺简洁的.推广一下,也可以用于省略时间的小时部分. NSDate* oldTime = [NSDate date]; NSTimeInterval interval = oldTime.timeIntervalSince1970; //将interval减去interval除以60后的余数.NSTimeInterval实际是double类型,%只能用于int型,所以需要用fmod函数.

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

Js获取当前日期时间及Js日期格式化

Js获取当前日期时间: 1 var myDate = new Date(); 2 myDate.getYear(); //获取当前年份(2位) 3 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 4 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 5 myDate.getDate(); //获取当前日(1-31) 6 myDate.getDay(); //获取当前星期X(0-6,0代表星期天) 7 myDate.getT

获得当前输入日期前(后)x天的日期

package com.xcfh.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * * @ClassName: BeforeOrAfterDate * * @Description: 获得当前输入日期前(后)x天的日期 * @author PineTree * @date 2014年12月