C#时间转整型(时间戳),模仿php strtotime函数的部分功能

今天需要将一个基于MS SQL数据库的新闻系统数据导入phpcms v9,源系统新闻日期格式为"2014-01-15 10:45:49",而phpcms中使用的是整型时间戳,在php中很简单,用strtotime()即可;在C#中,需要自己写函数,步骤如下:

步骤1.先计算phpcms中时间戳所用基准时间:
1             TimeSpan ts = new TimeSpan(0,0,0,1389753949);
2             DateTime now = Convert.ToDateTime("2014-01-15 10:45:49");
3             DateTime baseTime = now - ts;
4             Response.Write(baseTime.ToString());
5             Response.Write("<br/>");

  显示在页面上的是1970-1-1 8:00:00,得到了基准时间

步骤2.转换时间为整型时间戳:
1  //基准为"1970-1-1 8:00:00"时间转整数
2             baseTime = Convert.ToDateTime("1970-1-1 8:00:00");
3             ts = DateTime.Now - baseTime;
4             long intervel = (long)ts.TotalSeconds;
5             Response.Write("当前时间转换为:" + intervel.ToString());
得出的整数是从1970-1-1 8:00:00到当前的秒数,即phpcms v9 中 v9_news 表里 inputtime列、updatetime列值来源

附录:

日期转换为时间戳

PHP 提供了函数可以方便的将各种形式的日期转换为时间戳,该类函数主要是:

  • strtotime():将任何英文文本的日期时间描述解析为时间戳。
  • mktime():从日期取得时间戳。

strtotime()

strtotime() 函数用于将英文文本字符串表示的日期转换为时间戳,为 date() 的反函数,成功返回时间戳,否则返回 FALSE 。

语法:

int strtotime ( string time [, int now] )

参数 time 为被解析的字符串,是根据 GNU 日期输入格式表示的日期。

例子:

<?php
echo strtotime("2009-10-21 16:00:10");	//输出 1256112010
echo strtotime("10 September 2008");	//输出 1220976000
echo strtotime("+1 day"), "<br />";	//输出明天此时的时间戳
?>
时间: 2024-10-14 20:26:22

C#时间转整型(时间戳),模仿php strtotime函数的部分功能的相关文章

时间字段的类型用时间戳整型还是时间类型

不管做什么项目,必须都得接触的东西就是时间类型.现在用时间戳存储日期数据(整型存储)已经是业界很平常的的事情,网上各大游戏公司,各大开源都是采取整型时间戳存储.整数存日期好处很多,程序判断直读,扩展性好,随意可转换xml,json等格式.不过有一个最大的缺点就是查数据库不直观,也就是说我们用管理工具打开数据库的时候,看到的是一堆数字,维护数据不方便.为了解决这一缺陷,我找到一方法,先上代码: select *,DATE_FORMAT(FROM_UNIXTIME(datetimed/1000),"

Java把长整型时间转成字符串日期

数据库里存放的是timestamp格式,前端取得后是这种:1436255550710长整型时间截转换成"2015-07-07"这种格式呢? import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; public class Test { /** * Java把长整型时间转成字符串日期 * @param args * @throws IOException */ public

Oracle时间格式与整型格式相互转化

若Oracle数据库时间字段设置为"NUMBER"类型,查询时间列时会以数值的形式展现,像"1241450728000"样式,不具备可读性:同时若以"2009/5/4 15:25:28"样式update时间,则会提示"ORA-01722:invalid number",无法更新. 这时,就需要我们对此进行格式转化,示例如下: --date转long示例 select sysdate,(sysdate- to_date('197

【转】浮点型转换整型的快速方法介绍

原文网址:http://blog.csdn.net/leakers_zzw/article/details/8005762 [注明] 现有的Intel中的SSE指令 cvtps2dq XMM,XMM/m128 支持把源存储器4个单精度浮点数变成4个双字有符号整数,结果送入目的寄存器,内存变量必须对齐内存16字节,另外还有其他指令支持双精度和整型的转换. 转载本文,作为C算法设计的探讨. 在计算机图形运算中,常常要将浮点数转换为整数,例如在图像的光栅化阶段,就要执行大量的类型转换,以便将浮点数表示

MySQL各种日期类型与整型(转)

日期类型 存储空间 日期格式 日期范围 datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00:01 ~ 2038 date 3 bytes YYYY-MM-DD 1000-01-01 ~ 9999-12-31 year 1 bytes YYYY 1901 ~ 2155 timestam

BigInteger类(高精度整型)

位置:java.math.BigInteger 作用:提供高精度整型数据类型及相关操作 一.基本介绍 BigInteger为不可变的任意精度的整数. 所有操作中,都以二进制补码形式表示 BigInteger(同Java 的基本整数类型). 提供所有 Java 的基本整数操作符(* / + -等等)的对应物(一堆函数). 提供 java.lang.Math 的所有相关方法,此外还提供模算术.GCD 计算.质数测试.素数生成.位操作以及一些其他操作. 算术运算.逐位逻辑运算的语义完全模仿 Java

编译器是如何实现32位整型的常量整数除法优化的?[C/C++]

引子 在我之前的一篇文章[ ThoughtWorks代码挑战——FizzBuzzWhizz游戏 通用高速版(C/C++ & C#) ]里曾经提到过编译器在处理被除数为常数的除法时,是有优化的,今天整理出来,一来可以了解是怎么实现的,二来如果你哪天要写编译器,这个理论可以用得上.此外,也算我的一个笔记. 实例 我们先来看一看编译器优化的实例.我们所说的被除数为常数的整数除法(针对无符号整型, 有符号整型我们后面再讨论),指的是,对于unsigned int a, b, c,例如:a / 10, b

(DateTime)日期型数据转换成C#长整型数据

这里介绍日期型数据转换成C#长整型数据,由于各种数据库对日期型的定义和处理是不一样的,各种语言对日期型数据的定义的处理也各不相同,因为,我宁愿将日期型数据转换成长整型数据再保存到数据库中. AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 C#语言还是比较常见的东西,这里我们主要介绍日期型数据转换成C#长整型数据,包括介绍DateTime 的构造函数等方面. 转自:http://developer.51cto.com/art/200908/147684.htm 日期型数

一、数学函数主要用于处理数字,包括整型、浮点数等。

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返